Python - 从字符串中提取数字和逗号(使用re.sub)

时间:2016-01-16 23:58:17

标签: python regex string

我有以下字符串(Python):

test = "    +30,0 EUR abcdefgh   "

我想删除除数字和逗号之外的所有内容","。

Expected result: "30.0"

所以基于re doc我尝试过:

test = re.sub('^[0-9,]', "", test)

输出是:

"    +30,0 EUR abcdefgh   "

什么都没发生。为什么呢?

2 个答案:

答案 0 :(得分:1)

^需要放在括号内。

>>> re.sub('[^0-9,]', "", test)
'30,0'

将逗号更改为小数:

>>> '30,0're.sub('[^0-9,]', "", test).replace(",", ".")
'30.0'

答案 1 :(得分:0)

如果您希望获得"."的输出,可以试试这个:

test = re.sub('[^0-9.]', "", test.replace(",","."))

test

'30.0'