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

如何在Pandas中仅替换"后紧跟的空格而不删除"本身

错误原因

原有正则r'"(\s)'会将"和后续空白作为整体匹配,替换为空时会同时删除两个部分。

正确实现

方法1:正向后视断言(推荐)

仅匹配"之后的空白,不会消耗"本身,直接删除空白即可:

df['raw_data'] = df['raw_data'].str.replace(r'(?<=&quot;)\s+', '', regex=True)
  • 正则逻辑:(?<=&quot;)限定匹配位置的前一个内容必须是&quot;,\s+匹配1个或多个空白字符
  • Pandas 1.2及更高版本需显式传入regex=True避免参数警告

方法2:捕获组保留&quot;

通过捕获组保留匹配到的&quot;,仅删除后续空白,兼容性更强:

df['raw_data'] = df['raw_data'].str.replace(r'(&quot;)\s+', r'\1', regex=True)
  • 正则逻辑:(&quot;)是第一个捕获组,替换时用\1引用该组内容,实现保留&quot;的效果

效果示例

原文本:测试内容&quot; 带空格&quot; 第二个空格
替换后:测试内容&quot;带空格&quot;第二个空格

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 03:42:00