0

文字列に単語が見つかった場合は、単語を削除(技術的に置き換え)したい(削除するなどint, float, char, bool, main, void main, int main, cout, cin)。""

だから私はffを持っている場合:

str = "void main(){  couts<<"wrong"; cout<<"right";  }"

交換後は、次のようになります。

str = "(){  ();  couts<<"wrong"; <<"right"; }"

int、float、char、bool、main...などの単語は配列内に格納されます

kWord[0] = /int/
kWord[1] = /float/
kWord[2] = /char/
kWord[3] = /bool/
kWord[4] = /main/
kWord[5] = /void\s+main/
kWord[6] = /int\s+main/
kWord[7] = /cout/
kWord[8] = /cin/

これは私の以前の質問に関連しています文字列の一部を最速で削除する方法ですが、今回は単語が配列にあります

4

2 に答える 2

0

他の質問への回答と同じことができますが、kWord.join('|') を使用して正規表現オブジェクトを作成します。

kWord[0] = 'int';
kWord[1] = 'float';
kWord[2] = 'char';
kWord[3] = 'bool';
kWord[4] = 'main';
kWord[5] = 'void\\s+main';
kWord[6] = 'int\\s+main';
kWord[7] = 'cout';
kWord[8] = 'cin';

var r = '\\b(' + kWord.join('|') + ')\\b';
var myRegex = new RegExp(r, 'g');
str = str.replace(myRegex, "");
于 2013-08-28T19:55:14.460 に答える