我有一个TXT问答库。大意如下:张三的老家是哪里?答:山东李四的朋友叫什么?答:舒淇张三的老家是哪里?答:山东 我想把重复的(行)内容删除掉,该怎么做?c_textreplace 这个软件不能实现我想要的。请高手给其他的办法。
1、首先打开TXT文档,可以看到文档内有很多重复的内容;
2、依次点击“编辑”-“替换”;
3、在打开的替换窗口中输入要删除的重复内容,然后将鼠标光标移动到文档的首位;
4、点击替换矿口的“查找下一个”;
5、可以看到文档中的第二个重复的内容被选中了;
6、然后在“替换为”窗口内什么都不输入,直接点击“替换”;
7、可以看到第二行的替换内容被删除了;
8、然后依次点击“替换”;
9、可以看到下面的重复内容都被依次删除了。
删除TXT中重复的内容,三种方法供参考:
一、软件删除法:
二、Excel去重法:
三、批处理法:
用记事本新建一个bat文件,内容如下:
::怎样删除a.txt文件中重复的行?
::批处理不能直接更改文档中的内容,所以只能新建一个b.txt文档
::注:文档a中的每一行的结尾若有空格,也会被当作字符判断
::代码虽能达到目的,但感觉有点臃肿,还望高手简化.
@echo off
set a=1
set dst=1
setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.txt) do (
set num=%%i
if "!a!"=="1" (echo !num!>b.txt&set a=)
if not !num!==!dst! (call :dd)
for /f "delims=" %%j in (b.txt) do (
set dst=!num!
set var=%%j
if "!num!"=="!var!" set lis=y
)
)
start b.txt
:dd
if "%dst%"=="1" goto :eof
if not "%lis%"=="y" (echo %dst%>>b.txt) else (set lis=)
goto :eof
保存此文件为bat格式文档后,双击执行即可得到去重后的新文本。