我在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\] ", ""), "");
答案 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, "")