Python如何从字符串中提取评分及带空格分隔的总评分数量
Python 从字符串中提取评分与总评分数量解决方案
核心思路
利用正则匹配锁定评分与括号内的总评分数值段,对带空格的总评分数值做空格移除处理,兼容两种格式。
完整实现代码
import re # 测试用字符串 s = "National Museum 4.6(1 686), Museum, Green Street 24/26, Some description, Closing: md.. 20:00" # 提取评分(避免误匹配其他小数) rate = re.search(r"(\d\.\d{1,2})\(", s).group(1) print(rate) # 输出:4.6 # 提取总评分数量(兼容带/不带空格格式) raw_count = re.search(r"\(([\d ]+)\)", s).group(1) total_count = int(raw_count.replace(" ", "")) print(total_count) # 输出:1686
规则说明
- 评分匹配规则添加了
\(后缀限定,仅匹配左括号前的小数,不会误匹配门牌号、时间等其他带小数点的内容 - 总评分匹配规则会捕获括号内所有数字和空格的组合,直接移除全部空格后转整数即可,不管空格是1个还是多个、在什么位置都可以正常处理,同时兼容无空格的3位、4位等长度的数值
内容的提问来源于stack exchange,提问作者konrad8767
相关产品推荐
相关产品推荐

