Can';t替换“;[“和”和“];Javascript中字符串中的字符
我正在尝试使用javascript替换字符串中的“[”和“]”字符 当我在做Can';t替换“;[“和”和“];Javascript中字符串中的字符,javascript,regex,Javascript,Regex,我正在尝试使用javascript替换字符串中的“[”和“]”字符 当我在做 newString = oldString.replace("[]", ""); 然后它工作正常-但问题是我的字符串中有很多这样的字符,我需要替换所有出现的字符 但是当我做的时候: newString = oldString.replace(/[]/g, ""); 或 什么都没有发生。我也尝试过HTML数字,比如 newString = oldString.replace(/[]/g
newString = oldString.replace("[]", "");
然后它工作正常-但问题是我的字符串中有很多这样的字符,我需要替换所有出现的字符
但是当我做的时候:
newString = oldString.replace(/[]/g, "");
或
什么都没有发生。我也尝试过HTML数字,比如
newString = oldString.replace(/[]/g, "");
但它也不起作用。有什么办法吗?您需要避开开口方括号,并在它们之间添加一根管道:
newString = oldString.replace(/\[|]/g, "");
或者,您需要将它们添加到字符类(方括号)中,并对它们进行转义:
newString = oldString.replace(/[\[\]]/g, "");
“:反斜杠\
、插入符号^
、美元符号$
、句号或点
、竖条或竖管符号|
、问号?
、星号*
、加号+
、左括号(
、右括号)
、开头的方括号[
、开头的大括号{
…如果要在正则表达式中使用这些字符中的任何一个作为文本,则需要使用反斜杠将其转义。”
正则表达式中的
[]
是一个字符类。由于您没有转义,因此您说的是“查找以下任何字符”,而不是提供任何字符。请尝试/[\[\]/
编辑:@andy是对的。忘记放在容器中了
[]
这是一个简单的解决方案:
newString = oldString.split("[]").join("");
也有类似的情况,我只是用了反斜杠
-replace '\[','' -replace ']',''
为什么你不能在没有regexp的情况下使用常规替换?你搞错了链接。我已经修复了它。我没有搞错它…它是有意的…;PBTW我相信即使OP标记为正确答案,它似乎也是错误的。OP想要替换
[
和]
。查看搜索为\[\]
的其他答案:O
-replace '\[','' -replace ']',''