我试过了:
mystring= mystring.replace(/"/g, "").replace(/'/g, "").replace("(", "").replace(")", "");
它适用于所有双引号和单引号,但对于括号,这只替换字符串中的第一个括号。
如何使用JavaScript替换字符串中的所有括号?或者替换字符串中的所有特殊字符?
答案 0 :(得分:33)
尝试以下方法:
mystring= mystring.replace(/"/g, "").replace(/'/g, "").replace(/\(|\)/g, "");
一点点REGEX来抓住那些讨厌的括号。
答案 1 :(得分:21)
你应该使用更像这样的东西:
mystring = mystring.replace(/["'()]/g,"");
它不为其他人工作的原因是因为你忘记了“全球”论证(g)
请注意[...]
是一个字符类。这些括号之间的任何内容都会被替换。
答案 2 :(得分:6)
您应该可以在一个替换语句中执行此操作。
mystring = mystring.replace(/["'\(\)]/g, "");
如果您尝试替换所有特殊字符,则可能需要使用此类模式。
mystring = mystring.replace(/\W/g, "");
将取代任何非单词字符。
答案 3 :(得分:2)
如果你正在寻找括号,你也可以使用正则表达式,你只需要逃避它们。
mystring = mystring.replace(/\(|\)/g, '');
这将删除整个字符串中的所有(
和)
。
答案 4 :(得分:1)
只需一次替换即可:
"\"a(b)c'd{e}f[g]".replace(/[\(\)\[\]{}'"]/g,"")
答案 5 :(得分:0)
这应该有效:
mystring= mystring.replace(/"/g, "").replace(/'/g, "").replace(/\(/g, "").replace(/\)/g, "");
答案 6 :(得分:0)
那是因为要替换多次出现,必须使用正则表达式作为使用字符串文字的搜索字符串。您发现按字符串搜索只会替换第一次出现。
答案 7 :(得分:0)
基于字符串的替换方法不会全局替换。因此,您可能希望使用基于正则表达式的替换方法。应该指出:
您需要转义(
和)
,因为它们用于群组匹配:
mystring= mystring.replace(/"/g, "").replace(/'/g, "").replace(/\(/g, "").replace(/\)/g, "");
答案 8 :(得分:0)
这可以解决问题:
myString = myString.replace(/\"|\'|\(|\)/)
Example