2016-10-23 2 views
0
reso- lution 
sug- gest 
evolu- tion 

все слова, содержащие дефисы из-за ограниченного пространства в строке в виде текста. напримерзаменяя переносимые слова предложением, созданным новыми строками

Анализ двух высоких резонансу lution нуклеосом карты показали сильные сигналы, даже если они не составляют неопровержимые доказательства являются по крайней мере, в соответствии с этой точкой зрения. Взятое вместе, все эти выводов гест наводит на интригующую возможность того, что нуклеосомы позиций являются продуктом механической эвоа люции молекул ДНК .

Я хотел бы заменить их природными формами, т.е.

resolution 
suggest 
evolution 

Как я могу сделать это в тексте с питоном?

+1

бы тупой код как 'заменить ("-", "")', работа? –

+2

's = re.sub (r '([a-z]) - ([a-z])', r '\ 1 \ 2', s)' –

ответ

1

Убедитесь, что есть строчные буквы, прежде чем - и строчные буквы после - + пробел, захватить письма и использовать обратные ссылки, чтобы получить эти письма обратно после замены:

([a-z])- ([a-z]) 

См. regex demo (заменить на \1\2 последовательность обратных ссылок). Обратите внимание, что вы можете настроить количество пробелов с помощью квантора {1,max} (скажем, если между частями слова есть одно или два пробела, используйте ([a-z])- {1,2}([a-z])). Если могут быть пробелы, используйте \s, а не .

Python code:

import re 
s = 'Analysis of two high reso- lution nucleosome maps revealed strong signals that even though they do not constitute a definite proof are at least consistent with such a view. Taken together, all these findings sug- gest the intriguing possibility that nucleosome positions are the product of a mechanical evolu- tion of DNA molecules.' 
s = re.sub(r'([a-z])- ([a-z])', r'\1\2', s) 
print(s) 
0

Используйте str.replace() для замены "- " на "". Например:

>>> my_text = 'reso- lution' 
>>> my_text = my_text.replace('- ', '') 
>>> my_text # Updated value without "- " 
'resolution' 
Смежные вопросы