我现在已经打破了这个问题。 在javascript中我有一个字符串表达式,我需要删除'['和']'之间的空格。
例如,表达式可以是: -
"[first name] + [ last name ] + calculateAge()"
我希望它成为: -
"[firstname] + [lastname] + calculateAge()"
我尝试使用以下stackoverflow question中的方括号,但没有达到目的。如何在该问题中制作正则表达式,也适用于方括号?
有人可以帮忙吗?
谢谢, AJ
答案 0 :(得分:8)
如果括号总是正确平衡,并且它们从不嵌套,那么你可以这样做:
result = subject.replace(/\s+(?=[^[\]]*\])/g, "");
当且仅当字符串前面有]
字符且没有插入[
或]
字符时,才会替换空白字符。
<强>解释强>
\s+ # Match whitespace characters
(?= # if it's possible to match the following here:
[^[\]]* # Any number of characters except [ or ]
\] # followed by a ].
) # End of lookahead assertion.
答案 1 :(得分:1)
尝试
"[first name] + [ last name ] + calculateAge()".replace(/\[.*?\]/g, function(string) {
return string.replace(/\s/g, '');
})
演示:Fiddle
答案 2 :(得分:-5)
您可以使用此
"[first name] + [ last name ] + calculateAge()".gsub(/\s+/, "")
这适用于ruby