Я хочу удалить (технически заменить) слова int, float, char, bool, main, void main, int main, cout, cin
в ""
(например, удалить его), если он найден на строке.Как удалить часть строки с помощью массивов
Так что, если у меня есть ФФ:
str = "void main(){ couts<<"wrong"; cout<<"right"; }"
После замены, он должен быть:
str = "(){ (); couts<<"wrong"; <<"right"; }"
слова INT, поплавок, голец, BOOL, главный ... и т.д., которые хранятся в массив
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/
Это связан с моим предыдущим вопросом How to remove a part of the string the fastest way, но на этот раз слово в Массив
Не уверен, что мне здесь не хватает, но кажется, что вы можете перебирать ваш массив и выполнять '.replace()' в строке для каждого индекса в массиве. Или просто создайте один RegExp со всеми словами. – Jasper
Если массив содержит строки, вы можете превратить его в одно регулярное выражение с помощью var var = new RegExp ('\ b (' + kWord.join ('|') + '\ b')); '. Но если они уже представляют собой регулярные выражения, вы можете просто пропустить их. Но им нужны '\ b' на концах и модификаторы' g'. – Barmar
help: kWord [9] = /! String!/Не заменяется .. –