您需要一些帮助才能从动态字符串中移除最后一个花括号。
我收到的动态字符串有时会更长或更小,但我需要删除字符串中的最后一个
我正在考虑使用正则表达式,但是如何通过更改动态字符串来实现这一点呢?
由于
答案 0 :(得分:5)
您可以执行此操作以删除字符串的最后}
:
s = s.replace(/\}([^}]*)$/,'$1')
答案 1 :(得分:3)
dystroy的答案是正确的,但为了完整性:你也可以使用负面的前瞻性断言:
var s = 'f}oo}bar';
s = s.replace(/}(?!.*})/, '');
console.log(s);//f}oobar
基本上这个正则表达式替换了一个闭合的大括号,如果它是字符串中的最后一个(或唯一的)}
字符。
它是如何工作的:
}
:匹配文字} char (?!
否定预测:仅当{em>不后跟}
匹配时才会匹配:.*}
:零个或多个字符,后面是一个结束卷曲