找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 20437|回复: 1

[文本处理] [已解决]请教高手如何去除文本内完全相同的两行只保留一对不重复的附示例文本!

[复制链接]
发表于 2012-12-15 20:39:45 | 显示全部楼层 |阅读模式
本帖最后由 fhcmail 于 2012-12-15 22:16 编辑

请教高手如何去除文本内完全相同的两行只保留一对不重复的附示例文本!
对偶来说太有挑战了,暂时搞不定,还请高手出招!
请注意,每两行为一对,文本内有大量这样的重复对出现,现在要清除所有重复的对只保留一堆,回车只要一个,不要清完后留了一堆回车的空行哟!!
示例文本如下:
  1. 不好笑
  2. [cqname]那你笑什么

  3. 关不了
  4. [cqname]没事的,不用关它拉~


  5. [cqname]叹什么气啊

  6. 我在说[cqname]呢
  7. 蒽~不要嘛~不要欺负[cqname]拉~

  8. 敢不敢6个点
  9. ......

  10. ......
  11. 好吧![name] 算你狠~

  12. 词库
  13. 没事的~[cqname]的词库大家会帮忙一起完善.

  14. 必须
  15. [bq106]我不知道拉~什么都不知道.

  16. 贱人
  17. 贱人者!人自贱~[cqname]是无辜滴~


  18. 干嘛叫[cqname]滚~我不要嘛.

  19. ["face",87]
  20. 敲死一切欺负[cqname]的~

  21. 你是谁
  22. 我是[cqname],请多多指教![enter]

  23. 不好笑
  24. [cqname]那你笑什么

  25. 关不了
  26. [cqname]没事的,不用关它拉~


  27. [cqname]叹什么气啊

  28. 我在说小蜜呢
  29. 蒽~不要嘛~不要欺负[cqname]拉~

  30. 敢不敢6个点
  31. ......

  32. ......
  33. 好吧![name]算你狠~

  34. 词库
  35. 没事的~[cqname]的词库大家会帮忙一起完善.

  36. 必须
  37. [bq106]我不知道拉~什么都不知道.

  38. 贱人
  39. 贱人者!人自贱~[cqname]是无辜滴~


  40. 干嘛叫[cqname]滚~我不要嘛.

  41. ["face",87]
  42. 敲死一切欺负[cqname]的~

  43. 就是要勾引你
  44. 不要嘛~[cqname]不需要勾引滴~[cqname]一定乖乖的听你的
复制代码

评分

参与人数 1PB +2 收起 理由
batman + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

 楼主| 发表于 2012-12-15 22:12:41 | 显示全部楼层
本帖最后由 fhcmail 于 2012-12-15 22:15 编辑

下面是解决办法,再次感谢batman老大的帮忙!

【批处理未处理特殊字符版】用这个处理时文本内不能有特殊字符哟,希望以后有大牛能搞个处理字符的:
  1. @echo off&setlocal enabledelayedexpansion
  2. set "_1=str"&set "_2=var"
  3. (for /f "delims=" %%a in (a.txt) do (
  4.   set /a n+=1
  5.   for %%b in (!n!) do set "!_%%b!=%%a"
  6.   if !n! equ 2 (
  7.     if not defined !str!!var! (
  8.       echo !str!&echo !var!&echo,
  9.        set "!str!!var!=a"
  10.      )
  11.      set /a n=0
  12.    )
  13. ))>b.txt
复制代码
【VBS版,完美处理特殊字符,实测超级给力】
  1. Dim FSO, vbStr, Arr, Str, Counter, vbVar
  2. vbVar = ""
  3. Set FSO = CreateObject("Scripting.FileSystemObject")
  4. vbStr = FSO.OpenTextFile("test.txt").ReadAll
  5. Arr = Split(vbStr, vbCrLf & vbCrLf)
  6. For Each Str In Arr
  7.   If InStr(vbVar, Str) = 0 Then vbVar = vbVar & Str & vbCrLf & vbCrLf   
  8. Next
  9. FSO.OpenTextFile("testb.txt", 2, True).Write vbVar
  10. CreateObject("Wscript.Shell").run "cmd /cstart testb.txt", True, False
  11. Set FSO = Nothing
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 20:19 , Processed in 0.019255 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表