Расширить все вхождения в строку в Python - PullRequest
3 голосов
/ 21 октября 2011

Целью является префикс и суффикс всех вхождений подстроки (без учета регистра) в исходной строке. Мне нужно выяснить, как перейти от source_str к target_str.

source_str = 'You ARe probably familiaR with wildcard'
target_str = 'You [b]AR[/b]e probably famili[b]aR[/b] with wildc[b]ar[/b]d'

В этом примере я нахожу все вхождения 'ar' (без учета регистра) и заменяю каждое вхождение на само (то есть AR, aR и ar соответственно) с префиксом ([b]) и суффикс ([/b]).

Ответы [ 2 ]

4 голосов
/ 21 октября 2011
>>> import re
>>> source_str = 'You ARe probably familiaR with wildcard'
>>> re.sub(r"(ar)", r"[b]\1[/b]", source_str, flags=re.IGNORECASE)
'You [b]AR[/b]e probably famili[b]aR[/b] with wildc[b]ar[/b]d'
3 голосов
/ 21 октября 2011

Что-то вроде

import re
ar_re = re.compile("(ar)", re.I)
print ar_re.sub(r"[b]\1[/b]", "You ARe probably familiaR with wildcard")

возможно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...