Разделенная строка Python с разделителем из нескольких символов - PullRequest
15 голосов
/ 10 ноября 2011

скажем, у меня есть следующая строка:

"Hello there. My name is Fred. I am 25.5 years old."

Я хочу разбить это на предложения, чтобы у меня был следующий список:

["Hello there", "My name is Fred", "I am 25.5 years old"]

Как видите, я хочу разбить строку на все вхождения строки ". ", а не любое вхождение либо ".", либо " ". str.split() Python не будет работать в этом случае, потому что он будет обрабатывать каждый символ строки как отдельный разделитель, а не всю строку как многосимвольный разделитель. Есть ли простой способ решить эту проблему?

Спасибо

EDIT

Глупый я. Сплит работает таким образом.

Ответы [ 3 ]

35 голосов
/ 10 ноября 2011

у меня работает

>>> "Hello there. My name is Fr.ed. I am 25.5 years old.".split(". ")
['Hello there', 'My name is Fr.ed', 'I am 25.5 years old.']
4 голосов
/ 10 ноября 2011
>>> "Hello there. My name is Fred. I am 25.5 years old.".rstrip(".").split(". ")
['Hello there', 'My name is Fred', 'I am 25.5 years old']
2 голосов
/ 10 ноября 2011

Вы можете использовать функцию разделения в библиотеке регулярных выражений:

import re
re.split('\. ', "Hello there. My name is Fred. I am 25.5 years old.")
...