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

Python如何高效将指定字符前多个连续空格替换为单个空格

解决方案

直接使用正则表达式一次性完成全局匹配替换即可,仅需单次遍历字符串,效率远高于循环逐次替换的方案。

核心规则

  • 匹配逻辑:匹配2个及以上连续半角空格 + 指定字符(以下以&为例),正则匹配规则为 {2,}&
  • 替换逻辑:替换为单个空格 + 指定字符,即 &

常见语言实现示例

JavaScript

// 固定匹配&的场景
str = str.replace(/ {2,}&/g, ' &');

// 通用灵活写法,修改括号内的内容即可切换指定匹配字符
str = str.replace(/ {2,}(&)/g, ' $1');

Python

import re
# 固定匹配&的场景
str = re.sub(r' {2,}&', r' &', str)

# 通用灵活写法
str = re.sub(r' {2,}(&)', r' \1', str)

Java

// 固定匹配&的场景
str = str.replaceAll(" {2,}&", " &");

// 通用灵活写法
str = str.replaceAll(" {2,}(&)", " $1");

注意事项

如果指定字符为正则保留特殊字符(如.、*、+、?等),需要在字符前加反斜杠\转义后再写入正则规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 16:24:02