У меня есть следующая строка. Я использую re.sub (), чтобы заменить определенные c слова / шаблоны из списка в моей строке. Однако я хочу использовать эти заглавные буквы / заглавные буквы в их первоначальном виде.
mystring = "hello foo and bar. You are foo bar"
mywords = ['Foo', 'Bar']
желаемый вывод:
"hello Foo and Bar. You are Foo Bar"
Что я пробовал:
new = re.sub(rf"({'|'.join(mywords)})", string.capwords(r"\1"), mystring, flags=re.IGNORECASE)
new2 = re.sub(rf"({'|'.join(mywords)})", (r"\1").title(), mystring, flags=re.IGNORECASE)
Пробовал с использованием Capwords, заголовка и верхнего, но ни один не изменит регистр оригинальное слово. Возможно ли это сделать с помощью re.sub ()?