Javascript 中的正则表达式擦除空格
Regular Expressions in Javascript erasing spaces
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!"))
RESULT --->我在"blue house with a cat"而且我不在乎!
请注意,没有 space 双引号替换单引号。为什么space在这句话前后都消失了?谢谢
/\W'|'\W/gi
您正在替换任何后跟单引号的非单词字符 (\W'
) 或 (|
) 任何后跟非单词字符 ('\W
) 的单引号没有任何 spaces 的双引号。
空格算作非单词字符,因此您基本上是用不带空格的双引号替换 space 和单引号。
这是您的问题的解决方案:
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!"))
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!"))
RESULT --->我在"blue house with a cat"而且我不在乎!
请注意,没有 space 双引号替换单引号。为什么space在这句话前后都消失了?谢谢
/\W'|'\W/gi
您正在替换任何后跟单引号的非单词字符 (\W'
) 或 (|
) 任何后跟非单词字符 ('\W
) 的单引号没有任何 spaces 的双引号。
空格算作非单词字符,因此您基本上是用不带空格的双引号替换 space 和单引号。
这是您的问题的解决方案:
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!"))