用正则表达式删除javascript中的最后一个大括号

时间:2014-03-03 08:28:33

标签: javascript regex

您需要一些帮助才能从动态字符串中移除最后一个花括号。

我收到的动态字符串有时会更长或更小,但我需要删除字符串中的最后一个

我正在考虑使用正则表达式,但是如何通过更改动态字符串来实现这一点呢?

由于

2 个答案:

答案 0 :(得分:5)

您可以执行此操作以删除字符串的最后}

s = s.replace(/\}([^}]*)$/,'$1')

答案 1 :(得分:3)

dystroy的答案是正确的,但为了完整性:你也可以使用负面的前瞻性断言:

var s = 'f}oo}bar';
s = s.replace(/}(?!.*})/, '');
console.log(s);//f}oobar

基本上这个正则表达式替换了一个闭合的大括号,如果它是字符串中的最后一个(或唯一的)}字符。
它是如何工作的:

  • }:匹配文字} char
  • (?!否定预测:仅当{em>不后跟}匹配时才会匹配:
  • .*}:零个或多个字符,后面是一个结束卷曲