我有以下字符串,想删除十进制数字前后的所有双引号,保留其他引号。
"{"id":"default","values":{"level1":["0.0000","0.0000","0.0000"],"level2":["1.0000","1.0000","1.0000"], "score":"2.1100"}}"
应该是
"{"id":"default","values":{"level1":[0.0000,0.0000,0.0000],"level2":[1.0000,1.0000,1.0000], "score":2.1100}}"
使用 replace(/\"(?=[0-9]\.[0-9]+)/g, '')
我设法去掉了双引号数字的开头,但无法弄清楚如何在末尾引用。
最佳答案
将 /"(\d[.]\d+)"/g
替换为 $1
。 $1
指的是第一个捕获组,即 \d[.]\d+
(没有引号的内容)。 \d
只是 [0-9]
的快捷方式。
> var str = '{"id":"default","values":{"level1":["0.0000","0.0000","0.0000"],"level2":["1.0000","1.0000","1.0000"], "score":"2.1100"}}';
undefined
> str.replace(/"(\d[.]\d+)"/g,"$1")
'{"id":"default","values":{"level1":[0.0000,0.0000,0.0000],"level2":[1.0000,1.0000,1.0000], "score":2.1100}}'
关于javascript - 从字符串中十进制数字的开头和结尾删除双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25040963/