Can';t替换“;[“和”和“];Javascript中字符串中的字符

Can';t替换“;[“和”和“];Javascript中字符串中的字符,javascript,regex,Javascript,Regex,我正在尝试使用javascript替换字符串中的“[”和“]”字符 当我在做 newString = oldString.replace("[]", ""); 然后它工作正常-但问题是我的字符串中有很多这样的字符,我需要替换所有出现的字符 但是当我做的时候: newString = oldString.replace(/[]/g, ""); 或 什么都没有发生。我也尝试过HTML数字,比如 newString = oldString.replace(/[]/g

我正在尝试使用javascript替换字符串中的“[”和“]”字符

当我在做

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 ']',''