Найти и заменить помеченные слова из строки, используя python? - PullRequest
1 голос
/ 19 февраля 2020

Мне нужно найти и заменить некоторые теговые слова из абзаца.

str = "my name is [tag1]alan[/tag1] . i am a [tag2]python[/tag2] developer."

tag1 и tag2 - это слова, которые мне нужно найти, и замените их средний контент другим словом. теги не ограничены. его может быть больше 10. но каждый тег заключен в один и тот же способ, как в квадратных скобках, [tag] [/ tag].

Я хочу получить такой результат,

str = "my name is alan . i am a python developer."

Есть ли способ сделать это с помощью регулярных выражений? без использования Beautifulsoup.

Ответы [ 2 ]

0 голосов
/ 19 февраля 2020

Вы можете использовать следующее регулярное выражение:

import re

my_str = 'my name is [tag1]alan[/tag1]. i am a [tag2]python[/tag2] developer.'

re.sub(r'\[[/]*tag\d+?\]', '', my_str )

вывод:

'my name is alan . i am a python developer.'

объяснение регулярного выражения:

  • \[ = начинаться с [
  • [/]* = следующий символ может быть / или не
  • tag = должен содержать строку tag
  • \d+? = должен содержать число
  • \] = заканчивается ]
0 голосов
/ 19 февраля 2020

Использование Regex.

Пример:

import re

string = "my name is [tag1]alan[/tag1]. i am a [tag2]python[/tag2] developer."
print(re.sub(r"(\[.*?\])", "", string))
# --> my name is alan. i am a python developer.
...