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

Python/PySpark正则表达式:如何精准替换字符串中的特定模式

正则解决方案

直接使用以下正则表达式进行全局替换(替换为空字符串)即可一步完成需求:

(/[^,]+)|,

匹配逻辑说明

  • (/[^,]+):匹配所有以/开头,后续跟着任意非逗号字符的片段(直到遇到逗号或字符串结尾),这部分就是需要移除的/及后续内容;
  • |,:同时匹配所有逗号,因为最终需要将保留的代码直接拼接,逗号也需移除;
  • 全局替换会把所有符合上述两种情况的内容全部删除,直接得到目标结果。

测试验证

  • 输入字符串1:ABS25C/18033C,25A/17972C → 替换后得到ABS25C25A
  • 输入字符串2:ABS300ABC → 无匹配内容,保留原字符串ABS300ABC
  • 输入字符串3:AS25C/18033C,25A/17972C,25B/18026C → 替换后得到AS25C25A25B

之前正则出错的原因

你之前使用的(/.+,)是贪婪匹配,正则会从第一个/开始,一直匹配到最后一个逗号的位置,导致中间需要保留的25A等内容被误删。而使用[^,]+(否定字符类)会精准匹配到第一个逗号前的内容,彻底避免贪婪匹配的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 17:31:07