为了账号安全,请及时绑定邮箱和手机立即绑定

求助!js 正则互相替换的问题

求助!js 正则互相替换的问题

函数式编程 2019-04-27 22:16:31
有一个需求,比如有一段字符串str=“aaa,bbb,ccc,aaa,bbb,……”,我想如下操作:将所有aaa替换成bbb,将所有bbb替换成aaa;一开始用正则连续替换str.replace(/aaa/g,'bbb').replace(/bbb/g,'aaa');结果后面的会覆盖的前面,结果变成了aaa,aaa,ccc,aaa,aaa,……相关代码str="aaa,bbb,ccc,aaa,bbb,……";str1=str.replace(/aaa/g,'bbb').replace(/bbb/g,'aaa');console.log(str1);出来的结果是:aaa,aaa,ccc,aaa,aaa,……我想让结果变成“bbb,aaa,ccc,bbb,aaa,……”该怎么做?如果正则做不到,还有其他什么方法吗?顺便说一下,后面的省略号里面,依然可能有aaa和bbb,依然要让它们相互替换。
查看完整描述

2 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

'aaa,bbb'.replace(/(aaa|bbb)/g,(_,m)=>m==='aaa'?'bbb':'aaa');
                            
查看完整回答
反对 回复 2019-04-27
?
精慕HU

TA贡献1845条经验 获得超8个赞

"aaa,bbb,ccc,aaa,bbb".replace(/aaa/g,'___').replace(/bbb/g,'aaa').replace(/___/g,'bbb')
先用个占位符替换,再替换占位符。
                            
查看完整回答
反对 回复 2019-04-27
  • 2 回答
  • 0 关注
  • 554 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信