亚当 :
我有一个不错的代码片段,但是我想知道是否有人对如何执行此操作有更好的建议:
val = ''.join([c for c in val if c in '1234567890.'])
你会怎么做?
里数:
您可以使用正则表达式(使用re
模块)来完成同样的事情。下面的示例匹配[^\d.]
(非十进制数字或句点的任何字符)的游程,并将其替换为空字符串。请注意,如果使用UNICODE
标志编译模式,则结果字符串仍可能包含非ASCII数字。另外,删除“非数字”字符后的结果不一定是有效数字。
>>> import re
>>> non_decimal = re.compile(r'[^\d.]+')
>>> non_decimal.sub('', '12.34fe4e')
'12.344'
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
编辑于
我来说两句