You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript结合正则表达式将字符串最后一个逗号替换为and的实现方法

解决方案

你原有代码的逻辑已经很接近了,问题出在第二次 replace 的替换值设置:你当前是直接用匹配到的逗号后内容$1替换了「最后一个逗号+逗号后内容」,所以只会删除逗号,只需要在$1前补上and即可实现需求。

修改后的可运行代码

const test = 'a,b,c,d'
const result = test.replaceAll(',', ', ').replace(/,([^,]*)$/, ' and$1')
console.log(result) // 输出:a, b, c and d

鲁棒性优化版本

如果你的输入字符串可能存在逗号前后附带多余空格的情况,可以调整正则适配更多场景:

// 适配逗号前后有不规则空格的场景
const result = test.replace(/\s*,\s*/g, ', ').replace(/,\s*([^,]*)$/, ' and $1')

内容的提问来源于stack exchange,提问作者pmiranda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:06:04