2017-09-05 104 views
0

如何使用re查找句子中第一次出現的字符並基於該字符進行拆分。使用RE查找首次出現的某個字母或單詞或空格使用RE

如果這句話是 'A,BC,DE'

我想基礎上,第一次出現分裂 ''

所以運會[ '一','BC,DE ']

我不想根據','分割並將其餘的元素連接到最後一個元素。

我想要一個正則表達式,它只會分割第一個匹配項。

回答

2

在拆分方法中,有一個參數'maxsplit',如果給出maxsplit,最多可以執行maxsplit分割(因此列表最多隻能有maxsplit + 1個元素)。如果沒有指定或-1 maxsplit,那麼有上(所有可能的分裂是由)

'a,bc,de'.split(',', 1) 

爲您的案件拆分的數量沒有限制,只要使用

'a,bc,de'.split(',', 1)[0] 
0

不要忘記.partition

>>> 'a,bc,de'.partition(',') 
('a', ',', 'bc,de') 

或者,使用maxsep參數.split

>>> 'a,bc,de'.split(',',1) 
['a', 'bc,de'] 

或者,一個regex split

>>> re.split(r',','a,bc,de',maxsplit=1) 
['a', 'bc,de'] 

或者,因爲你使用Python 3,你可以這樣做:

>>> first,*the_rest='a,bc,de'.split(',') 
>>> first 
'a' 
>>> the_rest 
['bc', 'de']