[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理提取指定qq号码的qq群聊天记录的内容,顺祝新年快乐

因为查资料记得在一个qq群聊天记录里面,但是一页一页的翻不好好!所以我就将qq群聊天记录导出为txt文本文件命名:聊天记录.txt
现在要做的就是将特定qq号码的那个人的聊天记录提取出来放在另外一个txt里面!下面是qq群聊天记录的内容格式,随便选了一点
比如只要截取  苹果(12345678)的聊天记录,主要qq聊天记录是是换行的,聊天内容在人物下面,假如不换行,批处理不换行很简单,用findstr "12345678" 聊天记录.txt >b.txt


2010-11-05 11:11:31 苹果(12345678)
你今天不要来了

2010-11-05 11:11:34 香蕉(34543243)
[表情]

2010-11-05 11:11:32 朱荃(5643543)
又不是很贵的东西,可以参考的啊

2010-11-05 11:11:41 苹果(12345678)

记得以前你也这么说的

2010-11-05 11:11:45 泪月(1321344)
俺属气管炎类型[图片]

谢谢各位!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

有人帮我看一下吗
谢谢

TOP

日渐理清啊
都返乡过年了吗

TOP

本帖最后由 apang 于 2013-1-28 13:06 编辑

保存为test.vbs,试试
  1. QQ = "苹果(12345678)"
  2. fName = "聊天记录.txt"
  3. ReDim ar(0)
  4. Set FSO = CreateObject("Scripting.FileSystemObject")
  5. Set File = FSO.OpenTextFile(fName)
  6. Do Until File.AtEndOfStream
  7.    Text = File.ReadLine
  8.    If TestLine Then i = i + 1 :ReDim PreServe ar(i)
  9.    ar(i) = ar(i) & Text & vbCrLf
  10. Loop
  11. For i = 1 to UBound(ar)
  12.    if Instr(ar(i),QQ) <> 0 Then
  13.       FSO.OpenTextFile("Result.txt",8,True).Write ar(i)
  14.    End If
  15. Next
  16. CreateObject("Wscript.Shell").Run "Notepad Result.txt"
  17. Function TestLine
  18.    Set Re = New Regexp
  19.    Re.Global = True
  20.    Re.Pattern = "^\d{4}-\d{2}-\d{2}.*\(\d+\)$"
  21.    TestLine = Re.Test(Text)
  22. End Function
复制代码
1

评分人数

TOP

  1. gawk -v RS= "/(12345678)/" 聊天记录.txt >b.txt
复制代码
http://www.bathome.net/thread-1114-1-1.html
1

评分人数

TOP

返回列表