2011-11-10 175 views
14

说我有以下字符串:的Python拆分字符串多字符分隔符

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

我想这个分成句子,让我有以下列表:

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

正如你可以看到,我想在所有出现的字符串". "上拆分字符串,而不是任何发生的"."" "。在这种情况下,Python的str.split()将不起作用,因为它会将字符串的每个字符视为单独的定界符,而不是将整个字符串视为多字符定界符。有没有简单的方法来解决这个问题?

感谢

编辑

愚蠢的我。斯普利特以这种方式工作。

+2

'split'不会表现得像'在这方面strip'。 –

回答

32

对我的作品

>>> "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.'] 
+1

这比使用正则表达式更好的解决方案! – varunl

4
>>> "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

可以在正则表达式库使用分割功能:

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

感谢您的替代建议。如果我有多个分隔符,这很有帮助。 're.split(r'[\ s ,. | /] +','。\ tbrown fox | jump,/'''''''''','brown','fox','jump ','over','''] – IceArdor