用python re拆分一个字符串

时间:2014-02-08 04:18:10

标签: python regex string stdin

我正在使用python从std输入一行文件,并且每行都采用以下格式:

Id:0\t1.0,0.0,83,212,302,475\n

其中\t代表制表符,\n代表新行。我想使用python regex来解析它,并获得一个包含所有字符串数字的列表。

E.g. ['0','1.0','0.0','83','212','302','475']

您能告诉我如何在一行中实现这一点吗?

1 个答案:

答案 0 :(得分:2)

my_str = 'Id:0\t1.0,0.0,83,212,302,475\n'

re.findall('[\d\.]+',my_str)
Out[144]: ['0', '1.0', '0.0', '83', '212', '302', '475']

您可以这样做:

[x.strip('Id:\n') for x in re.split('[\t,]',my_str)]
Out[143]: ['0', '1.0', '0.0', '83', '212', '302', '475']

但这有点脆弱(并且难以阅读)