首页 > 解决方案 > 在python中剥离前导和尾随非数字字符

问题描述

来自 perl,我正在尝试这样做:

$dollar1 = 'USD -$1,009.00 USD' ;
$dollar1 =~ s/^\D+// ; 
$dollar1 =~ s/\D+$// ; 

在蟒蛇。我已经尝试了以下和其他几个迭代。谷歌搜索我看到了很多全局匹配和替换的例子,但不是锚点,还有一些使用类型特定方法的例子。但我仍然没有得到想要的输出,只是“d,dd”

任何帮助表示赞赏。谢谢!

import re

dollar1 = 'USD -$1,009.00 USD' # example format

re_leadgarbage = re.compile(r'^\D+')
re_trailgarbage = re.compile(r'\D+$') 

dollar1 = re_leadgarbage.sub(dollar1, "")
dollar1 = re_trailgarbage.sub(dollar1, "")

print (dollar1)

标签: pythonpython-3.x

解决方案


或者,尝试:

import re
dollar1 = 'USD -$1,009.00 USD'
print re.search('([0-9,.])+', dollar1).group()

推荐阅读