Character replacement Javascript擦除空间中的正则表达式
JAVASCRIPT正则表达式 此代码搜索单引号,并将其替换为双引号。它不会替换作为单词一部分的单个引号(即不要) 结果--->我和一只猫在一个蓝色的房子里,我不在乎 请注意,如果双引号取代单引号,则没有空格。为什么在引用之前和之后空间都消失了?谢谢Character replacement Javascript擦除空间中的正则表达式,character-replacement,Character Replacement,JAVASCRIPT正则表达式 此代码搜索单引号,并将其替换为双引号。它不会替换作为单词一部分的单个引号(即不要) 结果--->我和一只猫在一个蓝色的房子里,我不在乎 请注意,如果双引号取代单引号,则没有空格。为什么在引用之前和之后空间都消失了?谢谢 /\W'|'\W/gi 将任何非单词字符后跟一个单引号(\W')或()任何单引号后跟一个非单词字符('\W)替换为不带空格的双引号 空格算作非单词字符,因此基本上是将空格和单引号替换为不带空格的双引号 以下是您的问题的解决方案: function
/\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!"))
我省略了I修饰符,因为它对于这个特殊的参数是不必要的。太棒了!我忘了空格被算作非单词字符,这让人恼火。。。
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!"))