JAVASCRIPT正则表达式
此代码搜索单引号并将其替换为双引号。它不会取代作为单词一部分的单个引号(即不要)
function testRegExp(str)
{
var matchedStr = str.replace(/W'|'W/gi, '"');
return matchedStr;
}
console.log(testRegExp("I'm in a 'blue house with a cat' and I don't care!"))
结果--->我和一只猫在一个"蓝色的房子里",我不在乎!
请注意,如果用双引号代替单引号,则没有空格。为什么这段引文前后的空格都消失了?感谢
/W'|'W/gi
您将用不带空格的双引号替换任何后跟单引号(W'
)的非单词字符或(|
)任何后跟非单词字符('W
)的单引号。
空格被视为非单词字符,因此您基本上将空格和单引号替换为不带空格的双引号。
以下是您的问题的解决方案:
function testRegExp(str)
{
var matchedStr = str.replace(/W'/g, ' "').replace(/'W/g, '" ');
return matchedStr;
}
console.log(testRegExp("I'm in a 'blue house with a cat' and I don't care!"))