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

正则表达式修复换行问题:匹配非指定行首并替换换行为退格

修复CSV异常换行的正则解决方案

问题分析

你需要修复CSV中的异常换行:只有以SOMEWORD开头的行是合法行,其余行首的换行属于异常,需要将这些断行合并到上一行,同时保留完整数据。之前用\n[^SOMEWORD]的问题在于:

  • [^SOMEWORD]是匹配非S/O/M/E/W/O/R/D单个字符,而非“不以SOMEWORD开头”,逻辑完全错误
  • 这个正则会吃掉换行后的第一个字符,导致数据丢失
  • 无法区分“正常行首的换行”和“异常换行”

正确正则方案

匹配正则

\n(?!SOMEWORD)
  • \n:匹配目标换行符
  • (?!SOMEWORD):负向前瞻断言,确保换行后的内容不是以SOMEWORD开头,精准定位异常换行

替换内容

根据你的示例需求,替换为:

, 

(逗号加空格,让断开的字符串自然衔接)

扩展场景处理

如果异常换行后可能带有空格(比如"1333333\n 4444"),可以调整正则匹配换行后的任意空白字符,避免残留空格:

\n\s*(?!SOMEWORD)

替换内容依旧用, 即可,最终会得到"1333333, 4444"。

示例验证

输入片段:

SOMEWORD,111111,22222222,null,null,"1333333
4444",55555,66,null,7777777,8888 99999,null,null,null,0,null,false,false,1212121,null,null,null,false,null,null,333333,null

SOMEWORD,111111,22222222,null,null,"1333333
4444",55555,66,null,7777777,8888 99999,null,null,null,0,null,false,false,1212121,null,null,null,false,null,null,333333,null

经过替换后得到期望输出:

SOMEWORD,111111,22222222,null,null,"1333333, 4444",55555,66,null,7777777,8888 99999,null,null,null,0,null,false,false,1212121,null,null,null,false,null,null,333333,null
SOMEWORD,111111,22222222,null,null,"1333333, 4444",55555,66,null,7777777,8888 99999,null,null,null,0,null,false,false,1212121,null,null,null,false,null,null,333333,null

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 17:25:19