gpt4 book ai didi

javascript - nodejs中的条件正则表达式替换

转载 作者:搜寻专家 更新时间:2023-11-01 00:39:20 24 4
gpt4 key购买 nike

我有这样一个地址:

117042,ABC DEF,HIJ KLMNOP,9,170

想要拥有

117042,ABC DEF,HIJ KLMNOP 9 170

我用这个替换正则表达式试过了

address = address.replace(/,[\d]/g, " ");

但这会导致

117042,ABC DEF,HIJ KLMNOP  70

我不想替换数字,但仍需要检查逗号后面的数字是否与其他逗号不匹配。

我不太擅长正则表达式,这就是我寻求帮助的原因。

最佳答案

如果数字出现在字符串末尾,您只能在数字后替换逗号:

var s = "117042,ABC DEF,HIJ KLMNOP,9,170";
var res = s.replace(/,(\d+)(?=(?:,\d+)*$)/g, " $1");
console.log(res);

,(\d+)(?=(?:,\d+)*$)正则表达式匹配:

  • , - 逗号
  • (\d+) -(第 1 组,通过替换模式中的 $1 引用)一个或多个数字
  • (?=(?:,\d+)*$) - 正向前瞻,需要 0+ 序列 , + 末尾的一个或多个数字字符串。

关于javascript - nodejs中的条件正则表达式替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40608123/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com