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

如何用RegEx将字符串与数字间的多空格替换为单个空格?

解决版本标识与版本号之间多空格的正则方案

没问题,我来帮你搞定这个多空格的问题!你的核心需求是把Version或App Version和版本号之间的多个空格统一替换成单个空格,同时确保能正确匹配到版本号内容,下面分场景给你具体方案:

一、通用查找替换方案(适用于编辑器、脚本等)

我们可以用捕获组来保留版本标识和版本号,把中间的多空格替换成单个空格:

查找正则

(App Version|Version) +(.*?\d$)

替换模板

$1 $2

正则说明

  • (App Version|Version):捕获两种版本标识的任意一种,后续用来保留原标识
  • +:匹配一个或多个连续空格(如果需要兼容制表符等空白符,可换成\s+)
  • (.*?\d$):捕获从空格后到末尾数字的版本号内容,.*?是非贪婪匹配,避免误匹配多余内容

示例效果

原内容:App Version 1.1.0.11
替换后:App Version 1.1.0.11

原内容:Version 2.0
替换后:Version 2.0

二、Python代码实现示例

如果是在代码里处理文本,用re.sub就能轻松搞定:

import re

# 示例文本
raw_texts = [
    "App Version   1.1.0.11",
    "Version    2.0",
    "App Version     3.5.2-beta1"  # 兼容带字母的版本号(只需调整正则即可)
]

# 处理函数
def fix_version_spacing(text):
    # 若要兼容字母结尾的版本号,把正则改成 r'(App Version|Version) +(.*?\w$)'
    return re.sub(r'(App Version|Version) +(.*?\d$)', r'\1 \2', text)

# 批量处理并输出
for text in raw_texts:
    print(fix_version_spacing(text))

运行后输出:

App Version 1.1.0.11
Version 2.0
App Version     3.5.2-beta1  # 注:修改正则后会变成「App Version 3.5.2-beta1」

三、编辑器(如VS Code)操作步骤

  1. 打开查找替换面板(快捷键Ctrl+F/Cmd+F,然后点击.*开启正则模式)
  2. 查找框输入:(App Version|Version) +(.*?\d$)
  3. 替换框输入:$1 $2
  4. 点击「替换全部」即可批量修正所有符合规则的内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:46:12