Javascript正则表达式用特殊字符替换字符串

时间:2013-08-17 09:04:11

标签: javascript regex

我在Javascript中使用值= "[1] a [2] b [3] c"的字符串。我想将其替换为"a b c"

我的问题是如何使用Regex在Javascript中执行此操作?

我尝试过以下但没有运气:

var strText = "[1] a [2] b [3] c";
var strTextReplaced = strText.replace(new RegExp("\[/d\] ", ""), "");

2 个答案:

答案 0 :(得分:2)

使用正则表达式/\[\d+\]/g

> var value = "[1] a [2] b [3] c";
> value.replace(/\[\d+\]/g, '')
" a  b  c"
  • \d代替/d
  • 逃脱[]

如果要删除多余的空格,请使用/\[\d+\]\s*/

答案 1 :(得分:0)

它是\d而不是/d,您还需要使用\转义特殊字符。此外,您需要“g”或全局标志,允许多个替换。

在JavaScript中,\具有特殊含义。所以你也需要逃避它。

strText.replace(new RegExp("\\[\\d\\]", "g"), "")

由于这种情况,JavaScript有上述的简写版本。

strText.replace(/\[\d\]/g, "")

从技术上讲,您只需要转义[,而不是]

strText.replace(/\[\d]/g, "")