You need to enable JavaScript to run this app. Python实现字符串逐词反转并完整保留原始空格数量
优惠活动
大模型
产品
解决方案
定价
更多

Python实现字符串逐词反转并完整保留原始空格数量

逐词反转实现的空格保留问题

现状说明

已经掌握字符串逐词反转的实现逻辑,目前已摸索出两种不同的逐词反转实现方案,但当前遇到的核心问题是:在反转单词的同时如何完整保留字符串原有的空格数量。
例如处理输入字符串'Hello World'(两个连续空格)时,当前实现的输出仅保留1个空格,无法匹配原字符串的空格规格。

存在缺陷的现有代码

def backward_string_by_word(text: str) -> str:
    list2 = []
    res = [i for j in text.split() for i in (j, ' ')][:-1]
    for word in res:
        list2.append(word[::-1])
    return ''.join(list2)
    
    
def backward_string_by_word2(text: str) -> str:    
    # TODO: 实现保留原始空格的处理逻辑
    return ' '.join(x[::-1] for x in text.split())


print(backward_string_by_word("Hello  World")) # 当前代码仅输出单个空格,不符合保留双连续空格的预期
print(backward_string_by_word2("Hello  World"))

缺陷来源

  • 两套实现都使用无参数的str.split()方法拆分文本,该方法默认会将任意连续的空白字符(包括多空格、制表符、换行等)识别为统一分隔符,拆分完成后就彻底丢失了原始文本中空格的数量、位置信息。
  • 第一套实现拆分后手动为每个单词补单个空格,第二套实现拆分后直接用单个空格拼接反转后的单词,从逻辑层面就没有设计保留原始连续空格的处理流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.02 05:24:05