Notepad++删除代码重复行的方法_一键清理代码冗余数据的方法

浅浩酱_2465

浅浩酱_2465

2026-06-22

878人浏览

原创

notepad++ 无真正一键去重功能,“排序并移除重复行”实为仅删相邻重复行;可靠方法是先升序排序使重复行聚集,再用正则^(.*\r?\n)\1+替换为\1;保序需插入序号锚点、排序、正则去重、删除序号四步;大文件建议用python脚本处理。

notepad++删除代码重复行的方法_一键清理代码冗余数据的方法

Notepad++ 没有真正意义上的“一键删除所有重复行”功能,所谓“编辑 → 行操作 → 排序并移除重复行”只是旧版菜单残留,实际点击后执行的是 Remove Consecutive Duplicate Lines —— 它只删紧挨着的重复行,对分散在全文各处的重复内容完全无效。

为什么 Remove Consecutive Duplicate Lines 不能当去重用

这个命令底层逻辑等同于 Unix 的 uniq:只比较相邻两行是否完全一致。比如这四行:

apple
apple
banana
apple

它只会删掉第2行 apple(因为和第1行相同),而第4行 apple 前面是 banana,直接跳过。真实数据中重复行几乎从不连续,所以该命令在去重场景下等于失效。

  • 大小写、首尾空格、不可见字符(如 \t 或 \u00A0)都会导致匹配失败
  • 不记录已出现过的行,无法做全局哈希比对
  • 即使你只想保留首次出现的那行,它也做不到

用 Sort Lines Lexicographically Ascending + 正则才是可靠路径

这是纯内置、零插件、全版本兼容的方法,核心是先让重复行聚集,再用正则精准捕获并仅留首行。

  • 全选文本(Ctrl + A),执行 Edit → Line Operations → Sort Lines Lexicographically Ascending
  • 打开替换窗口(Ctrl + H),勾选 Regular expression 模式
  • 查找目标填:^(.*\r?\n)\1+(\r?\n 兼容 Windows/Linux 换行)
  • 替换为填:\1(不是留空,否则会少一行)
  • 确保下方 . matches newline 未勾选,否则正则可能跨行误匹配

注意:.* 在含制表符或混合空格的行里容易漏匹配,更稳写法是 ^[^\r\n]*\r?\n。

Notepad++ Windows版
Notepad++ Windows版

Notepad++ 8.9.7 Windows版官方安装包,适合 Windows 用户进行代码编辑、文本处理、语法高亮和插件扩展配置。

下载

想保留原始顺序?必须加序号锚点再排序

Notepad++ 排序不是稳定排序,直接排序会彻底打乱原始位置。要恢复原序,得靠列编辑插入序号作为锚点:

  • 先用 Search → Column Mode Edit → Insert Number,起始值 1,增量 1,在每行最左插入序号
  • 全选 → 升序排序(此时内容排序,序号随行移动)
  • 执行正则:^(.*\r?\n)\1+ → 替换为 \1
  • 最后用列编辑框选最左序号列(按住 Alt 拖选),按 Delete 清除

四步缺一不可。漏掉序号插入,结果顺序就全乱;漏掉序号清除,输出里会残留数字。

大文件或需严格保序?优先用外部 Python 脚本

Notepad++ 处理 >10MB 文本易卡顿,且 PythonScript 插件在新版中存在兼容风险(如 v2.0 不支持 Python 3.12)。更可靠的做法是导出后用终端脚本处理:

with open('input.txt') as f:
    seen = set()
    for line in f:
        stripped = line.rstrip('\n\r')
        if stripped not in seen:
            print(stripped)
            seen.add(stripped)

运行:python dedup.py > output.txt

  • rstrip('\n\r') 避免换行符干扰判断
  • set() 实现 O(1) 查找,百万行也能秒出
  • 不依赖 Notepad++ 插件,规避编码、BOM、内存溢出等问题

最容易被忽略的其实是第一步:没加序号就去排序,结果顺序全乱了,你还以为去重成功了——其实只是把重复行重新排了队而已。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
notepad++官网
notepad++官网

notepad++提供了许多强大的功能和工具,使其成为许多程序员和开发人员的首选工具。本专题为大家提供notepad++官网的相关文章,大家可以免费体验。

2023.08.04

5673

7

notepad++使用教程
notepad++使用教程

notepad++适合处理代码编辑、文本替换、格式查看和批量查找等日常任务。本专题围绕下载安装、界面设置、文件编辑、查找替换、插件使用和常见问题处理展开。

2025.08.01

7422

38

Python uv使用教程
Python uv使用教程

本专题汇总了 Python uv 使用教程与高效使用指南,从 uv 安装配置、常用命令到虚拟环境、依赖管理与项目打包,系统讲解如何用 uv 替代 pip 与 poetry,全面提升 Python 项目开发效率,助你快速上手这一现代化包管理工具,打造干净高效的 Python 工作流。

2026.10.15

0

15

剧云AI短剧创作教程合集
剧云AI短剧创作教程合集

本专题聚焦剧云AI短剧创作,讲解从短剧灵感、梗概、全局大纲到分集、分场和正文的完整流程及节奏设计方法。

2026.10.14

0

15

剧云AI剧本创作零基础入门
剧云AI剧本创作零基础入门

本专题系统讲解剧云AI剧本创作流程,涵盖灵感、梗概、大纲、分场与正文生成,帮助新手快速完成首个中文剧本项目。

2026.10.14

0

14

VibeKnow文档转视频操作指南
VibeKnow文档转视频操作指南

本专题讲解VibeKnow上传Word、TXT、Markdown等材料生成视频的方法,覆盖内容解析、脚本组织、画面生成与成片检查。

2026.10.14

0

15

VibeKnow知识视频制作与导出详解
VibeKnow知识视频制作与导出详解

本专题整理VibeKnow从注册、素材上传、AI生成到预览导出的完整操作,帮助新手快速制作第一条知识讲解视频。

2026.10.14

0

13

二狗PPT大纲编辑实操指南
二狗PPT大纲编辑实操指南

本专题聚焦二狗PPT结构化大纲的生成和修改,讲解标题、正文、目录、页数与页面顺序的调整方法,提升汇报逻辑和内容完整性。

2026.10.14

0

15

二狗PPT文档转PPT全教程
二狗PPT文档转PPT全教程

本专题讲解二狗PPT解析Word、PDF、Excel和PPT资料的方法,涵盖文件上传、内容提取、大纲整理、异常处理与转换后校对。

2026.10.14

0

13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Notepad++ 官方插件文档
Notepad++ 官方插件文档

共0课时 | 0人学习

Notepad++ 官方用户手册
Notepad++ 官方用户手册

共0课时 | 0人学习

Notepad++ 官方插件文档
Notepad++ 官方插件文档

共0课时 | 0人学习