是否有可能在notepad++中删除重复的行,只留下一行的单一出现?
当前回答
到目前为止,使用记事本内置功能可以删除所有连续重复的行。首先对行进行排序:
编辑>行操作>“按字典顺序排序”,
then
编辑>线路操作>“删除连续重复线路”。
上面建议的正则表达式解决方案并没有为我删除所有重复的行,而是只删除了连续的行。
其他回答
带有TextFX插件的notepad++可以做到这一点,如果你想按行排序,并同时删除重复的行。
要在最新版本的notepad++中安装TextFX,您需要从这里下载:https://sourceforge.net/projects/npp-plugins/files/TextFX
TextFX插件曾经包含在旧版本的notepad++中,或者可以从菜单中添加到插件->插件管理器->显示插件管理器->可用选项卡-> TextFX ->安装。在某些情况下,它也可能被称为TextFX字符,但这是同样的事情。
需要的复选框和按钮现在将出现在菜单下:TextFX -> TextFX工具。
确保选中了“sort outputs only unique…”。接下来,选择一个文本块(Ctrl+ a选择整个文档)。最后,点击“区分大小写排序”或“不区分大小写排序”
没有一个对我有效。
解决方案是:
取代
^(.*)\s+(\r?\n\1\s+)+$
with
\1
notepad++的后一个版本显然根本不包括TextFX插件。为了使用插件排序/消除重复,必须下载并安装插件(更复杂)或使用插件管理器添加插件。
A)简单的方法(如这里所述)。
插件->插件管理->显示插件管理->可用选项卡-> TextFX字符->安装
B)更复杂的方式,如果需要另一个版本或简单的方法不起作用。
从SourceForge下载插件: http://downloads.sourceforge.net/project/npp-plugins/TextFX/TextFX%20v0.26/TextFX.v0.26.unicode.bin.zip 打开压缩文件,解压“NppTextFX.dll” 将NppTextFX.dll放在notepad++插件目录中,例如: C:\Program Files\ notepad++ \ plugins 启动notepad++, TextFX将是文件菜单项之一(如Colin Pickard上面的答案#1所示)
在安装TextFX插件之后,按照答案#1中的说明对重复项进行排序和删除。
另外,如果你经常使用这个命令,或者想复制一个键盘快捷方式,比如在TextPad中使用F9进行排序,可以考虑使用Settings >快捷方式映射器来设置一个键盘快捷方式。
从notepad++版本6开始,你可以在搜索和替换对话框中使用这个正则表达式:
^(.*?)$\s+?^(?=.*^\1$)
什么都不替换。这将在所有重复行中留下文件中最后一次出现的内容。
不需要排序,重复的行可以在文件中的任何地方!
您需要勾选“正则表达式”和“正则表达式”选项。匹配换行符”:
^ matches the start of the line. (.*?) matches any characters 0 or more times, but as few as possible (It matches exactly on row, this is needed because of the ". matches newline" option). The matched row is stored, because of the brackets around and accessible using \1 $ matches the end of the line. \s+?^ this part matches all whitespace characters (newlines!) till the start of the next row ==> This removes the newlines after the matched row, so that no empty row is there after the replacement. (?=.*^\1$) this is a positive lookahead assertion. This is the important part in this regex, a row is only matched (and removed), when there is exactly the same row following somewhere else in the file.
搜索正则表达式:\b(\w+)\b([\w\ w]*)\b\1\b
替换为:$1$2
点击“替换”按钮,直到文件中不再匹配正则表达式为止。
推荐文章
- 我如何使用notepad++(或其他)与msysgit?
- 删除重复的行
- 复制notepad++文本与格式?
- 如何停止notepad++显示文件中所有单词的自动补全
- 如何从c#数组中删除重复项?
- 在SQL Server中查找重复的行
- 在Python Pandas中删除多个列中的所有重复行
- MySQL对重复键更新在一个查询中插入多行
- 我如何检查是否有重复在一个平面列表?
- 如何将大写字母转换为小写notepad++
- 我如何在python中使用熊猫获得所有重复项的列表?
- notepad++是否显示所有隐藏字符?
- 如何在notepad++文本编辑器中更改背景颜色?
- 按列A删除重复项,保留列B中值最高的行
- 如何在PostgreSQL中找到重复的记录