1

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

我的问题是如何使用正则表达式在 Javascript 中做到这一点?

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

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

2 回答 2

2

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

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

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

于 2013-08-17T09:06:45.053 回答
0

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

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

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

正因为如此,JavaScript 才有了上述的简写版本。

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

从技术上讲,您只需要逃避[. 而不是].

strText.replace(/\[\d]/g, "")
于 2013-08-17T09:10:48.350 回答