You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过正则高效移除字符串列表中的版本号 无需手动遍历列表项

实现方案

核心逻辑是通过正则精准匹配所有符合「多段整数+点号」特征的版本号,配合预编译正则+列表推导完成批量处理,不需要手动写逐行检查的显式for循环,处理效率很高。

  • 版本号匹配正则:\s*\b\d+(?:\.\d+)+\b\s*
    • 可以匹配字符串任意位置的版本号,不管是在末尾、中间还是开头
    • 正则前后的\s*会同步匹配版本号前后的多余空格,避免替换后残留连续空格
  • 提前用re.compile预编译正则表达式,大批量处理数据时性能更好

完整代码示例

import re

# 原始待处理列表
raw_list = [
    'Adobe PDF Library 9.9',
    'Adobe PDF Library 8.0',
    'Adobe PDF Library 15.0',
    'Adobe PDF Library 11.0',
    'Mac OS X 10.13.3 Quartz PDFContext'
]

# 预编译版本号匹配规则
version_re = re.compile(r'\s*\b\d+(?:\.\d+)+\b\s*')
# 批量替换清理,无手动逐行检查逻辑
clean_list = [version_re.sub(' ', item).strip() for item in raw_list]

处理结果

运行后clean_list的输出如下,所有版本号被移除,仅保留程序名称:

[
    'Adobe PDF Library',
    'Adobe PDF Library',
    'Adobe PDF Library',
    'Adobe PDF Library',
    'Mac OS X Quartz PDFContext'
]

适配调整

如果你的数据里存在带v前缀的版本号(比如v10.2.1),只需要把正则规则调整为\s*\bv?\d+(?:\.\d+)+\b\s*即可兼容。

内容的提问来源于stack exchange,提问作者dovod74538

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 22:27:32