Javascript中的正则表达式擦除空格



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!"))

最新更新