我想用这样的模式提取文本中的数字:
About 181,000 results
如果我用空格分隔它们,当我尝试通过 int('181,000')
将数字转换为整数时,我会收到错误。如何正确捕获这个数字并将其转换为整数?
最佳答案
将经常被忽视的locale
模块与atoi()
结合使用:
import re, locale
from locale import atoi
locale.setlocale(locale.LC_ALL, 'en_US')
string = "About 181,000 results"
rx = re.compile(r'\b\d+(?:,\d+)*\b')
numbers = [atoi(m.group(0)) for m in rx.finditer(string)]
print(numbers)
哪个产量
[181000]
关于python - 正则表达式捕获文本中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48410616/