2011-09-29 269 views
0

我有這樣Python的正則表達式和分裂

mystr = "K1_L1_L2 XX" 

字符串我想打破它的格式如下

K1 L1 L2 XX 

其中K1,L1,L2可以是任何東西,但有這種格式一個字符後跟一個數字。

a = "K1_L1_L2 XX" 
re.split("[\c\d\_]+",a) 

這給了我下面的輸出

['K', 'L', 'L', ' ', '.', ''] 

,但我想是這樣的

['K1', 'L1', 'L2', ' ', '.', ''] 

什麼是可能的解決方法:我使用下面的正則表達式在Python這樣做呢?

+1

別的東西值得一提的是,'\ C'是不是一個有效的字符類。在ASCII字符串上使用時,可以使用'\ w',這是'[0-9a-zA-Z_]'的縮寫。 – NullUserException

回答

4

上面的示例中包含的代碼存在問題。我會編輯他們,但我不是100%確定你在找什麼。

以下:

import re 

a = "K1_L1_L2 XX" 
print re.split("[ _]", a) 

會打印:

['K1', 'L1', 'L2', '', 'XX'] 
+0

謝謝。這使用這個更簡單! – rightskewed

+0

如果您對此感到滿意,請不要忘記接受此答案。這將爲其他用戶節省時間。 –

0

也許

re.split("([A-Za-z]\d)",a)