Страницы

Поиск по вопросам

понедельник, 24 декабря 2018 г.

Поиск слова по букве, и замена буквы

Нужно найти в списке слов все слова на букву "в", и заменить букву "в" на букву "а" во всех словах. Как это сделать, без разбивания каждого слова на буквы и замены по индексу. Пример:
Вход:
a=['рука', 'нож', 'ведро', 'Неаполь', 'Виктория', 'материк']
Выход:
a=['рука', 'нож', 'аедро', 'Неаполь', 'аиктория', 'материк']


Ответ

Для списка:
import re
In [143]: print(a) ['рука', 'нож', 'ведро', 'Неаполь', 'Виктория', 'материк', 'бровь']
In [144]: new = [re.sub(r'^в', r'а', word, flags=re.U|re.I) for word in a]
In [145]: print(new) ['рука', 'нож', 'аедро', 'Неаполь', 'аиктория', 'материк', 'бровь'] # ^
Для строки:
import re
s = 'Нужно найти в списке слов все слова на букву "в", и заменить букву "в" на букву "а" во всех словах. Как ето сделать, без разбивания каждого слова на буквы и замены по индексу. Большое Спасибо!' new = re.sub(r'\bв', r'X', s, flags=re.UNICODE)
print(new)
Результат:
Нужно найти X списке слов Xсе слова на букву "X", и заменить букву "X" на букву "а" Xо Xсех словах. Как ето сделать, без разбивания каждого слова на б уквы и замены по индексу. Большое Спасибо!

Комментариев нет:

Отправить комментарий