2012-05-01 292 views
11

我使用正則表達式使用多個分隔符分割字符串。但是如果我的兩個分隔符在字符串中彼此相鄰,它會在結果列表中放入一個空字符串。例如:在Python中使用多個分隔符分割字符串

re.split(',|;', "This,is;a,;string") 

結果

['This', 'is', 'a', '', 'string'] 

有什麼辦法,以避免讓我的列表中''不添加,;作爲分隔符?

回答

30

試試這個:

import re 
re.split(r'[,;]+', 'This,is;a,;string') 
> ['This', 'is', 'a', 'string'] 
+0

嗯,還好。現在如果我的一個分隔符也是一個單詞呢?例如:'re.split(',|; | string',「this,is; a,; string」)' –

+2

然後這將工作:'re.split(r'[,;] + | string', 'This'is; a,; string')' –

+1

現在輸出結果爲'['This','''''''''','']' –