Skip to main content
 首页 » 编程设计

python之在 Python 中使用 Re 删除双空格/制表符组合

2025年05月04日9傻小

我想使用 Re 模块将 Python 中存在连续制表符和/或空格的所有实例替换为单个空格。我不想删除新行(这排除了\s 推荐)。目前我有:

    formateed_string = re.sub("\t+" , " ", formateed_string)             
    formateed_string = re.sub(" +" , " ", formateed_string)          
    formateed_string = re.sub("\t " , " ", formateed_string)     
    formateed_string = re.sub(" \t" , " ", formateed_string) 

即首先检查连续的空格,然后是连续的制表符,然后是制表符/空格,然后是空格/制表符。这似乎通常有效,但偶尔会留下双空格(我猜这意味着制表符/空格有不寻常的污染,上面没有完全删除)。

是否有一种简单/更优雅的方法来实现这一目标?

[注意运行 Python 2.7]

请您参考如下方法:

下面的正则表达式会将连续的制表符或空格替换为单个空格。请注意,它不会将单个制表符转换为空格。

formatted_string = re.sub("[\t ]{2,}", " ", formatted_string)