我想将“()”替换为字符串中的空格,现在我可以用3倍于此了
str=str.replace('(',' ');
str=str.replace(')',' ');
str=str.replace(',',' ');
我阅读了有关正则表达式的内容,以使其更容易,但我尝试使用
str=str.replace(/(),/,' ');
失败。
我做错了什么?
答案 0 :(得分:2)
g
。(
和)
是特殊字符,因此需要转义。|
运算符来匹配找到的任何字符串[(),]
匹配整个字符串的示例:
function fixString(text){
return text.replace(/\(|\)|,/g, " ");
}
console.log(fixString(",1)2(3"));
匹配字符示例:
function fixString(text){
return text.replace(/[(),]/g, " ");
}
console.log(fixString(",1)2(3"));
答案 1 :(得分:2)
您很近。您需要将要替换的字符添加到character class:
let str = "(this is a string with commas,,)"
str = str.replace(/[(),]/g, ' ')
console.log(str)
答案 2 :(得分:2)
您可以使用带有全局标志的字符类进行替换。
/[(),]/g
function fixString(text){
return text.replace(/[(),]/g, " ");
}
console.log(fixString(",1)2(3"));
答案 3 :(得分:1)
(
和)
在RegEx中具有特殊含义。将它们放在方括号中。您还必须指定全局g
标志来替换多次出现。
var str='test(),test2';
str=str.replace(/[(),]/g, ' ');
console.log(str);
答案 4 :(得分:1)
只需使用此正则表达式-/[(,)]/g
。在下面直播-
var x1 = '34(,12';
var x2 = '34),12';
var x3 = '34()12';
var x4 = '34,12';
var x5 = ',1)2(3';
x1 = x1.replace(/[(,)]/g, ' ');
x2 = x2.replace(/[(,)]/g, ' ');
x3 = x3.replace(/[(,)]/g, ' ');
x4 = x4.replace(/[(,)]/g, ' ');
x5 = x5.replace(/[(,)]/g, ' ');
console.log(x1);
console.log(x2);
console.log(x3);
console.log(x4);
console.log(x5);
建议:您可以使用通用函数将其隔离,如下所示-
var filterString = (str) => str.replace(/[(,)]/g, ' ');
var x = '3,4,5(6,7),1)2(3';
console.log(filterString(x));