我想提取字符串中包含的所有数字.正则表达式和isdigit()
方法哪个更适合这个目的?
示例:
line = "hello 12 hi 89"
结果:
[12, 89]
我想提取字符串中包含的所有数字.正则表达式和isdigit()
方法哪个更适合这个目的?
示例:
line = "hello 12 hi 89"
结果:
[12, 89]
如果只想提取正整数,请try 以下操作:
>>> txt = "h3110 23 cat 444.4 rabbit 11 2 dog"
>>> [int(s) for s in txt.split() if s.isdigit()]
[23, 11, 2]
我认为这比regex示例要好,因为您不需要另一个模块,而且它更具可读性,因为您不需要解析(和学习)regex mini-language.
这将无法识别浮点数、负整数或十六进制格式的整数.如果你不能接受这些限制,jmnas's answer below就行了.