2014-10-29 93 views
0

我正在尋找一個函數來將字符串拆分成str列表,方法是在指定的各種標點處(例如!?)將其拆分。我知道我應該使用具有特定標點符號的.split()函數,但是我無法弄清楚如何獲得迭代運行指定的每個標點符號的分割以產生由原始str分割組成的單個str列表在每個標點符號上。在python中重複分割字符串

回答

2

要使用多個分隔符拆分,你應該使用re.split()

import re 
pattern = r"[.,!?]" # etc. 
new = re.split(pattern, your_current_string) 

把在功能形式應該是足夠簡單。

+0

使用你的方法我得到一個空字符串的列表。 're.split(pattern,「你好,我想說點什麼,'World'。')''return'[」「,」「,」「,」「,」「,」「,」「] ' – bvidal 2014-10-29 17:32:37

+1

@bvidal這是因爲我忘了逃避句號(這意味着它正在分裂)。謝謝你告訴我。現在再試一次。 – 2014-10-29 17:35:01

+1

直接編寫正則表達式('pattern = r「[。,!?]」'),或者使用're.escape':'pattern ='|'.join(map(re.escape,分隔符))'。 – 2014-10-29 18:00:08