У меня есть эта строка, которую я хочу разделить на периоды:Как разбить строку на разделители, но исключить другие строки
j = 'you can get it cheaper than $20.99. shop at amazon.com. hurry before prices go up.'
Это результат я хотел бы:
['you can get it cheaper than $20.99. ', 'shop at amazon.com.', ' hurry before prices go up.']
I разделить на каждую строчную букву с периодом до нее и любым числом с периодом и пробелами после него.
x = []
sentences = re.split(r'([a-z]\.|\d\.\s)', j)
sentence_endings = sentences[1::2]
for position in range(len(sentences)):
if sentences[position] in sentence_endings:
x.append(sentences[position -1] + sentences[position])
печать х дает мне:
['you can get it cheaper than $20.99. ', 'shop at amazon.', 'com.', ' hurry before prices go up.']
Я хочу, чтобы «amazon.com», чтобы быть одна строка, поэтому я поручил регулярное выражение, чтобы игнорировать «.com» с re.split(r'([a-z]\.|\d\.\s)[^.com]', j)
но это не Принеси мне результат, который я хочу. Каков наилучший способ сделать это?
're.split (r '(? <= \.) \ s', s)' –