-2

我有一个字符串格式,可以像

"( C1 AND C2 OR C3 AND C4) OR (C5 AND C6 ) OR C7"

现在将有这样的通用字符串,我需要删除任何空格 b/w '(' ')' 和 'C' 这是上面示例的条件,我希望将其更改为

"(C1 AND C2 OR C3 AND C4) OR (C5 AND C6) OR C7"
4

2 回答 2

2
var str = "( C1 AND C2 OR C3 AND C4) OR (C5 AND C6 ) OR C7";

str.replace(/(\()\s+|\s+(\))/g, '$1$2')
于 2013-03-26T10:09:16.323 回答
2

这个SO 答案。

从这里使用替换功能

String.prototype.replaceAll = function(str1, str2, ignore)
{
   return this.replace(new RegExp(str1.replace(/([\,\!\\\^\$\{\}\[\]\(\)\.\*\+\?\|\<\>\-\&])/g, function(c){return "\\" + c;}), "g"+(ignore?"i":"")), str2);
};
var str = "( C1 AND C2 OR C3 AND C4) OR (C5 AND C6 ) OR C7";
str.replaceAll("( ", "(").replaceAll(" )", ")");

不过,杰克的回答要好得多,也更简洁。

于 2013-03-26T10:28:15.160 回答