2014-10-29 60 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