У меня есть список
fruits = ['apple', 'banana', 'cherry']
Мне нравится заменять все эти элементы по их индексу в списке. Я знаю, что могу пройти по списку и использовать замену строки вроде
text = "I like to eat apple, but banana are fine too."
for i, fruit in enumerate(fruits):
text = text.replace(fruit, str(i))
Как насчет использования регулярных выражений? С \number
мы можем вернуться к матчу. Но
import re
text = "I like to eat apple, but banana are fine too."
text = re.sub('apple|banana|cherry', fruits.index('\1'), text)
не работает. Я получаю ошибку, что \x01
не в плодах. Но \1
должно относиться к 'apple'
.
Меня интересует наиболее эффективный способ замены, но мне также нравится лучше понимать регулярные выражения. Как я могу получить строку соответствия из обратной ссылки в регулярном выражении.
Большое спасибо.