import re
import fileinput
import re
#regex used
#result = re.split('(?<=\S)[^-][ ](?=[a-zA-Z0-9])', line)
<---- это написано в несколько строк, но один символ пропущен во многих строках и не очень правильно, поэтому я много искал и мне пришлось добавить «$», как показано ниже: </p>
result = re.split('(?<=\S$)[^-][ ](?=[a-zA-Z0-9])', line)
<---- это дает очень хороший результат, но теперь у меня склеены некоторые слова, которые не были разделены, я знаю буквы, которые предшествуют заглавной букве, например "***** J", мне нужно иметь«***** J», а затем вернуть обратно буквы, похожие на Sentence1 Sentence2 Sentence2, и тогда я готов!У меня возникли проблемы с использованием re.sub, а затем все новые строки, как я хочу, чтобы окончательный вывод. </p>
line = "WordsAreStickedTogetherHereIneedOneSpaceBetweeeThem"
result = re.split('(?<=\S$)[^-][ ](?=[a-zA-Z0-9])', line)
final_result = re.sub('dM','d M',result)
final_result = re.sub('dJ','d J',result)
for elem in final_result:
print elem
ERRROR:
$python main.py
Traceback (most recent call last):
File "main.py", line 22, in <module>
final_result = re.sub('dC','d C',result)
File "/usr/lib64/python2.7/re.py", line 155, in sub
return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or buffer