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

如何去除文本间多余空白?已尝试strip()/split()/replace()方法未解决

问题解决方法

一、去除星级与评分数之间的大量空白

这类空白通常不是普通空格( ),而是非打印空白字符(比如制表符\t、换行符\n、不间断空格\xa0等),普通的replace(" ", "")无法匹配。可以用以下方法:

方法1:正则表达式匹配所有空白字符

Python示例:

import re
text = "4.0 out of 5 stars          12,467 ratings"
cleaned_text = re.sub(r"\s+", " ", text).strip()
# 输出结果:"4.0 out of 5 stars 12,467 ratings"

\s+会匹配任意数量的空白字符(包括空格、制表符、换行符等),替换为单个空格后,用strip()去除首尾多余空白。

方法2:替换特定非打印空白字符

如果明确是某类特殊空白(比如不间断空格\xa0),可以直接针对性替换:

text = "4.0 out of 5 stars\xa0\xa0\xa012,467 ratings"
cleaned_text = text.replace("\xa0", " ").replace("  ", " ").strip()

二、去除两个句子之间的空白

根据空白类型选择对应方法:

情况1:句子间是多空格/混合特殊空白

用正则统一处理:

import re
text = "第一句。          第二句。"
# 替换为单个空格
cleaned_text = re.sub(r"\s+", " ", text)
# 若要完全去掉空格,替换内容改为""即可
# cleaned_text = re.sub(r"\s+", "", text)

情况2:句子间是换行/制表符混合空白

同样使用re.sub(r"\s+", " ", text),它会将所有连续空白(包括换行、制表符)替换为单个空格,按需调整替换目标即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 14:01:06