fork download
  1. import re
  2. def stp(s):
  3. p = re.compile(r'(Иван\b)(?!.?[А-Я]|[-])')
  4. rep = 'Степан'
  5. return p.sub(rep, s)
  6. arr = ["Поди сюда, Иван.", "Иван Грозный", "Город Иваново","Иван, просто Иван",
  7. "Иван-да-Марья", "Петр Иваныч", "Марья, Иван, Пётр", "Иван-дурак"]
  8. print(list(map(lambda x : stp(x), arr)))
Success #stdin #stdout 0.11s 10368KB
stdin
Standard input is empty
stdout
['Поди сюда, Степан.', 'Иван Грозный', 'Город Иваново', 'Степан, просто Степан', 'Иван-да-Марья', 'Петр Иваныч', 'Марья, Степан, Пётр', 'Иван-дурак']