javascript .replace()保留了evalueted字符串的一部分

时间:2017-10-25 09:35:35

标签: javascript regex string replace

我需要做的是在字符串中查找类似“12345”的内容,并将其替换为12345,以便基本上搜索引号内的任何数字,并将其替换为不带引号的数字。

我尝试了一些东西,但我不知道如何保持evalueted数字仅删除引号。

一些例子:

foo bar“123”bar - > foo bar 123 bar

foo bar“123qwe”bar - > foo bar“123qwe”bar

foo“bar”“123”bar - > foo“bar”123 bar

提前谢谢。

解决:

.replace(/"([0-9]+)"/g, '$1');

2 个答案:

答案 0 :(得分:0)

你可以做到

function getResult(str){
    console.log(str.replace(/"(\d+)"/g, '$1'));
}

getResult('foo bar "123" bar');

getResult('foo bar "123qwe" bar');

getResult('foo "bar" "123" bar');

答案 1 :(得分:0)

此正则表达式适用于您"([0-9]+)"

var s = 'test "test" 123 "123" ""';
s = s.replace(/"([0-9]+)"/g, "$1");
console.log(s);