我需要找到两个引号之间的点,并用逗号替换它。
我正在尝试这个
\".*?\"
但它会在引号之间找到所有内容。
我需要将类似“100,21 $”的内容转换为此“100.21 $”
答案 0 :(得分:0)
通常,您可以首先匹配引用的子字符串
"[^"]+"
然后将.
替换为匹配块中的,
(在回调或后处理方法/函数中)。
或者,您可以使用捕获+反向引用:
"(\d*),(\d+\$)"
替换为"$1.$2"
(其中$1
是使用(\d*)
捕获的文本,而$2
是使用(\d+\$)
捕获的值。请参阅this demo。
答案 1 :(得分:-1)
如果您的字符串很简单,例如:"100,21$"
您可以简单地使用此代码:
str = str.replace(/,/g,'.');
如果它有点复杂,如:
Here is an "example" of "100,21$" price, I am a string
您可以使用:
str = str.replace(/"(\d+),(\d+)(.*?)"/g,'"$1.$2$3")
如果要测试,请使用Regexr链接: http://regexr.com/3dbo5
nb:我写了这个例子,但你可以在另一个语言中使用正则表达式和字符串模式