【发布时间】:2023-03-09 10:54:01
【问题描述】:
我需要扫描一个字符串并检查是否有小数(数字)。如果是这样,请将它们替换为逗号。示例:
var string = "This is the number 9,5 but problem is if we have e.g. 10, 11."
使用最简单的解决方案:
string = string.replace(/,/g, '.')
将替换字符串中的所有逗号。
所以我需要一个正则表达式来检查, 的前一个字符和下一个字符是否是数字\d,然后才用. 替换,。
我实现的是通过正则表达式获得这些数字:
\d(\,)\d
但我不知道如何使用(非)捕获组来仅提取 javascript 替换的逗号。或任何其他方式。
【问题讨论】:
-
由于 JS 不支持零长度后视,你最好先捕获一组数字,然后再放回去。
-
我总是想知道什么混蛋会否决这样的问题。 SO中应该有一个强制性的“说明你反对的理由”字段。
标签: javascript regex