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

如何让Python将字符串中重复的多个空格统一替换为三个空格?

解决单词间多空格统一替换为三个空格的问题

你的原代码存在两个核心问题:

  1. replace(" ", "...") 会把每个单个空格独立替换成三个点,多个连续空格会被拆成多组替换结果(比如两个空格会变成 ......),无法实现统一替换的效果;
  2. 仅用 strip() 只能去除首尾空格,无法处理字符串中间的连续空格组。

正确实现方式(使用re模块)

利用正则表达式匹配一个或多个连续空格,再统一替换为三个空格:

import re

def main():
    # 先去除首尾空格,再替换中间任意数量的空格为三个空格
    input_str = input().strip()
    result = re.sub(r' +', '   ', input_str)
    print(result)

if __name__ == "__main__":
    main()

代码说明

  • strip():清除输入字符串首尾的空格,避免首尾无意义的空格被替换;
  • re.sub(r' +', ' ', input_str):
    • r' +' 是正则表达式,专门匹配一个或多个连续的空格(如果需要匹配制表符等其他空白字符,可改成 r'\s+');
    • 第二个参数 ' ' 是替换目标,即固定三个空格;
    • 该方法会把所有连续空格组一次性替换为三个空格,完全满足你的需求。

测试示例

输入:hello world python(hello后3个空格,world后4个空格)
输出:hello world python(每个单词间均为3个空格)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:24:51