-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 に答える