2011-11-10 227 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