使用正则表达式删除“]”之前的空格

时间:2013-04-21 23:59:13

标签: javascript regex

我正在用JavaScript删除部分字符串。不幸的是,它有时会在我需要的右括号]之前留下空格。

例如,[shortcode type="default"]变为[shortcode ],而我需要它[shortcode]。请注意,随着代码的建立,一个字符串中会出现多次。

我需要在每次出现]组合之前删除该空格(如果出现)。这是什么正则表达式?

3 个答案:

答案 0 :(得分:1)

你可以使用积极的前瞻。

str = str.replace(/\s+(?=])/g, "");

jsFiddle

答案 1 :(得分:0)

如果可以出现多个空格,则应使用\s+,如下所示:

str.replace(/\s+]/g, "]")
g末尾的

/.../执行您要求的操作:替换每行中的多个匹配项。

答案 2 :(得分:0)

如果只有一个空格且只出现一次,.replace(' ]', ']')就足够了,但您明确指出会有多个空格,因此.replace(/ ]/g, ']')会这样做。如果在右大括号之前可以有多个空格,请使用:

.replace(/\s+]/g, ']')