Однострочный ответ без регулярных выражений:
def normal(sent):
return ".".join(" " + s if i > 0 and s[0].isalpha() else s for i, s in enumerate(sent.split(".")))
Вот многострочная версия, использующая аналогичный подход.Вы можете найти его более читабельным.
def normal(sent):
sent = sent.split(".")
result = sent[:1]
for item in sent[1:]:
if item[0].isalpha():
item = " " + item
result.append(item)
return ".".join(result)
Использование регулярных выражений, вероятно, является лучшим способом.