我正在寻找一种解决方案,将短语中的所有带引号的字符串替换为相同的带引号的字符串,但采用修改后的版本。
这是我的意思的一个例子:
var str = 'name="benson"; password="1234"';
//Expected output: name=--"benson"--; passowrd=--"1234"--
var str = 'I "love" and I like "programming"';
//Expected output: I --"love"-- and I like --"programming"--
// and so on
以下是我的方法,我已经快到了,但似乎遗漏了一些东西。我已经花了相当长的时间了。
var str = 'name="benson"; password="1234"';
var searching = str.match(/".+?"/gi);
var result = str.replace(/".+?"/gi, "--" + searching + "--");
$( "p" ).html(result);
// out put: name=--"benson","1234"--; password=--"benson","1234"--
.replace
函数支持一种特殊的语法,您可以告诉它在替换时使用匹配的部分..(但您需要为此使用捕获组)
var str = 'name="benson"; password="1234"';
var result = str.replace(/(".+?")/gi, "--$1--");
$( "p" ).html(result);