jQuery - 替换字符串中的所有括号

时间:2012-02-02 15:53:41

标签: javascript replace special-characters

我试过了:

mystring= mystring.replace(/"/g, "").replace(/'/g, "").replace("(", "").replace(")", "");

它适用于所有双引号和单引号,但对于括号,这只替换字符串中的第一个括号。

如何使用JavaScript替换字符串中的所有括号?或者替换字符串中的所有特殊字符?

9 个答案:

答案 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