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

如何用正则表达式移除非XX结尾行的换行并格式化文本数据?

在Notepad++中用正则清理CSV数据的分步方案

以下是针对需求的具体操作步骤,所有操作均在Notepad++的查找替换窗口中完成,确保切换到「正则表达式」模式(不勾选「匹配新行」):


步骤1:合并乱序换行,将每条数据转为单行

原数据中存在大量单元格内换行,通过标记+替换统一整理:

  1. 查找:XX,替换为:XX###,点击「全部替换」(给每条数据的结尾标记临时标识符)
  2. 查找:\r?\n,替换为空,点击「全部替换」(移除所有换行,将内容合并为一大段)
  3. 查找:XX###,替换为:XX\r\n,点击「全部替换」(将标记位置恢复换行,每条数据自成一行)

步骤2:清理格式冗余

  1. 清理逗号前后空白:查找\s*,\s*,替换为:,,点击「全部替换」(去掉逗号前后的空格、换行残留,生成紧凑CSV结构)
  2. 移除原有双引号:查找",替换为空,点击「全部替换」(清除原数据中混乱的引号,为重新添加做准备)

步骤3:标准化单元格内容

  1. 填充空单元格:查找(^|,)(?=,|$),替换为:$1"",点击「全部替换」(将空单元格转为"",符合CSV规范)
  2. 为非数值型单元格添加双引号:
    • 查找:(^|,)(?!\d+$|--)([^,]+)(?=,|$)
    • 替换为:$1"$2"
    • 点击「全部替换」
      正则说明:
    • (^|,):匹配行首或单元格分隔逗号,保留原有结构
    • (?!\d+$|--):排除纯数字和--的单元格(这两类无需加引号)
    • ([^,]+):捕获需要加引号的单元格内容
    • (?=,|$):确保匹配的是完整单元格

步骤4:恢复表头格式(可选)

如果不需要表头被加引号,执行:

  • 查找:^"a","b","c","d","e"
  • 替换为:a,b,c,d,e
  • 点击「全部替换」

执行完所有步骤后,即可得到标准化CSV格式,可直接导入Excel、R或Python使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 16:44:54