新墨者
2019-06-24 00:05
采纳率: 50%
浏览 371

正则表达式替换指定字符时如何不替换连续出现的该字符

用正则表达式进行替换,比如"abcaabbcc",要把a替换成X,但是aa保留不替换,该如何写正则呢?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • mister.奎 2019-06-26 18:22
    已采纳

    let str='abcaabbccfadwdwdaaadwdwa';
    str=str.replace(/(?<=[^a]|^)a(?=[^a]|$)/g,'x');
    console.log(str);

    值替换一个a的情况,两个a以上不替换

    打赏 评论
  • threenewbee 2019-06-24 09:04

    var m = str.match(/^aa^a/);
    str.replace(m[0], m[0].replace('a', ''));

    打赏 评论
  • 豪杰驾到 2019-06-24 14:48

    正则获取到所有不连续的指定字符是没有问题的,但是结合要提换就不行了吧,这种有被包含的情况我能想到的就是自己用循环来处理,判断前后字符是否等于当前字符,来替换!

    打赏 评论

相关推荐 更多相似问题