Удалить конкретное слово в определенном порядке из строки с помощью регулярных выражений - PullRequest
1 голос
/ 04 июля 2019

Я должен удалить слова «in» (in) из строки, такой как «Компания X в источнике B на стуле F», чтобы строка после примененного регулярного выражения представляла собой компанию X Источник B, председатель F.

Мне также нужно удалить кавычки, и я решил это.

Я попробовал следующее регулярное выражение безуспешно:

let str = "Company X in Source B in Chair F"
str.replace(/['"\in]+/g, '') --> Compay X Source B Char F

Ответы [ 2 ]

1 голос
/ 04 июля 2019

Используйте \b границы слов, чтобы соответствовать всему слову. Также убедитесь, что вы используете результат replace - он возвращает новую строку:

let str = "Company X in Source B in Chair F";
const res = str.replace(/\bin\b/g, "").replace(/  /g, " ");
console.log(res);

Есть секунда replace выше из-за пробелов. Если вы хотите избежать этого:

let str = "Company X in Source B in Chair F";
const res = str.replace(/ in /g, " ");
console.log(res);

И если вам также необходимо заменить кавычки, используйте оператор регулярного выражения ИЛИ |:

/(?:\bin\b)|"|'/g
0 голосов
/ 04 июля 2019

Для этого не нужно ничего особенного, вы можете просто использовать /in/g:

let str = "Company X in Source B in Chair F"
console.log(str.replace(/in/g, ''));

Однако, возможно, вы захотите добавить границу слова \b, как /\bin\b/g:

let str = "Company X in Source B in Chair F"
console.log(str.replace(/\bin\b/g, ''));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...