【发布时间】:2018-01-16 13:46:04
【问题描述】:
假设有带数字的字符串,例如,
test() test 12,01% test (12,4) 12.3 s 2 some other text, other text, 2,text
我需要将带逗号的数字替换为带点的相同数字,并且不要更改任何其他内容。所以字符串会变成
test() test 12.01% test (12.4) 12.3 s 2 some other text, other text, 2,text
我尝试过这样的事情:
var newstr = str.replace(/^\d+,\d+$/g, "\1.\2");
或 var newstr = str.replace(^\d*\,?\d+$/g, "\1.\2");
- 我认为这应该匹配任何带逗号的数字:^\d*\,?\d+$
【问题讨论】:
-
/(\d+),(\d+)/g -
var newstr = str.replace( /(\d),(\d)/g, "\1.\2");喜欢这个?您不需要添加锚点或量词,但您必须定义捕获组。 -
美元在被替换的字符串中没有反斜杠
-
@Max:我总是忘记!
标签: javascript regex