如何移除HTML标签内整数附带的文本?
提取字符串中的数字(含千分位逗号)
直接用正则表达式匹配所有数字和千分位分隔符是最靠谱的方案,完全不用纠结数字长度和文本位置。
示例代码(Python)
假设你抓取到的原始文本是:raw_text = "7,407 people voted"
1. 提取带千分位的数字字符串
用正则精准匹配数字格式:
import re raw_text = "7,407 people voted" # 匹配带千分位的数字 number_str = re.search(r'\d{1,3}(?:,\d{3})*', raw_text).group() print(number_str) # 输出: 7,407
2. 转换为纯整数
如果需要去掉逗号得到纯数字:
clean_number = int(number_str.replace(',', '')) print(clean_number) # 输出: 7407
正则规则解释
\d{1,3}(?:,\d{3})* 的逻辑:
\d{1,3}:匹配1-3位数字(对应千分位前的起始部分)(?:,\d{3})*:匹配0次或多次「逗号+3位数字」的组合(处理多段千分位分隔)
这个规则能兼容所有常见的千分位数字格式,比如123、1,234、12,345,678都能正确匹配。如果你的场景涉及浮点数,把正则改成\d{1,3}(?:,\d{3})*(?:\.\d+)?即可匹配带小数的数字。
内容的提问来源于stack exchange,提问作者Ifeoma Ogbodo
相关产品推荐
相关产品推荐

