Удаление слов с помощью RegExp - PullRequest
1 голос
/ 02 апреля 2020

У меня есть строка с тегами. "<blue>Hello, <red>world</red>!</blue>". И я должен получить эту строку без тегов, используя RegExp. Я написал этот код, но я думаю, что это может быть проще. str.split('<red>').join('').split('</red>').join('').split('</blue>').join('').split('<blue>').join('');
Пожалуйста, помогите мне!

Ответы [ 2 ]

1 голос
/ 02 апреля 2020

Использование .replace(/<\/?(red|blue)>/g, ""):

console.log( "<blue>Hello, <red>world</red>!</blue>".replace(/<\/?(red|blue)>/g, "") )

Если вы хотите сопоставить версии тегов без учета регистра, вам просто нужно вставить i после /g. Это не будет работать с атрибутами или пробелами до или после имени тега. Если вам это нужно, прокомментируйте этот ответ, и я его отредактирую.

1 голос
/ 02 апреля 2020

Попробуйте это:

var s = "<blue>Hello, <red>world</red>!</blue>";
s.replace(/<.*?>/g, " ");
Result -> " Hello,  world ! "
...