2011-09-29 124 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)