2015-08-31 109 views
0

任务是分割一个字符串与多分隔符,但需要保存分隔符,即string = u'hey,很高兴认识你!我是丹尼斯=)',如果分隔符是',','!'和“”,想要的结果是python分割字符串与多分隔符和保留这些分隔符python - 快速方式

['hey,', 'nice to meet you!', 'I'm Dennis.'] 

目前我所做的是

delimiter = ur'(,|!|.)' 
temp = re.split(delimiters, source)[:-1] 
result = map(unicode.__add__, temp[0::2], temp[1::2]) 

任何人都可以帮助提高时间效率或得到任何更好的想法?我会很感激!

回答

2

根据分隔符旁边的空格进行分割。

>>> import re 
>>> string = u"hey, nice to meet you! I'm Dennis." 
>>> re.split(r'(?<=[.,!])\s*', string) 
['hey,', 'nice to meet you!', "I'm Dennis."] 
+0

假设总是有空间 –

+0

好点!但是由于目标字符串实际上是中文,所以标点符号后不会有空格。再次,对于英文字符串,绝对是更好! – ba9el