标题: [文本处理] [已解决]批处理如何提取文本中的邮箱地址? [打印本页]
作者: mick00034 时间: 2014-2-9 12:44 标题: [已解决]批处理如何提取文本中的邮箱地址?
本帖最后由 pcl_test 于 2016-11-16 19:05 编辑
祝大家新年快乐
张三 13366325775(手机)
E-mail: 970655918@qq.com
13439881949(手机)李四
E-mail: sh1009i@163.com
作者: 522235677 时间: 2014-2-9 15:42
本帖最后由 522235677 于 2014-2-9 15:48 编辑
- @echo off
- for /f "tokens=2" %%i in ('findstr /i "mail" 1.txt') do echo %%i
- pausee
复制代码
作者: mick00034 时间: 2014-2-9 16:30
回复 2# 522235677
好像不行呀,,附件上传了,谢谢哈
作者: 522235677 时间: 2014-2-9 17:54
本帖最后由 522235677 于 2014-2-9 17:55 编辑
回复 3# mick00034
@echo off
for /f "tokens=2 delims=$" %%i in ('find /i "mail" 1.txt') do echo %%i
pause
把$换成tab
作者: mick00034 时间: 2014-2-9 19:03
回复 4# 522235677
结果很多邮件不完整,,,每一行前多了il:
il: [email]970655918@qq.com[/email]
il: [email]sh1009i@163.com[/email]
il: dier
il: m
il: [email]903982792@qq.com[/email]
il: [email]835085702@qq.com[/email]
il: [email]zz360278227@126.com[/email]
il: [email]272746276@qq.com[/email]
il: [email]cxy_vision@163.com[/email]
il: [email]605525195@qq.com[/email]
il: liu
il: [email]1203482977@qq.com[/email]
作者: 522235677 时间: 2014-2-9 20:03
我能给你有问题的代码?
作者: mick00034 时间: 2014-2-9 21:07
本帖最后由 mick00034 于 2014-2-10 09:15 编辑
回复 6# 522235677
您的代码应该是没问题的,只是小弟不会导出那个效果呀,能指点一下就谢谢了。
是我弄错了,,,已经解决
作者: battab 时间: 2014-2-9 21:22
本帖最后由 battab 于 2014-2-9 21:50 编辑
回复 7# mick00034 - @echo off
- for /f "tokens=2 " %%i in ('find/i "@" 1.txt') do echo %%i>>2.txt
复制代码
6#随便给点样例就好了,搞那么长有点浪费。
作者: apang 时间: 2014-2-9 22:53
本帖最后由 apang 于 2014-2-10 00:11 编辑
以#3附件为例,有效邮箱地址1972个,用find或findstr会漏掉很多。- Set fso = CreateObject("Scripting.FileSystemObject")
- txt = fso.OpenTextFile("1.txt",1,false,-1).ReadAll
- Set re = New RegExp
- re.Pattern = "[\w\-\.]+@.+\.(com|cn|net)"
- re.IgnoreCase = True
- re.Global = True
- For Each m in re.Execute(txt)
- s = s & m & vbCrLf
- Next
- fso.OpenTextFile("2.txt",2,true).Write s
复制代码
作者: mick00034 时间: 2014-2-10 07:35
本帖最后由 mick00034 于 2014-2-10 07:49 编辑
回复 10# apang
您说的很对,数据差几十个,如果原始数据大的话,就差更多了,谢谢热心帮助,
弱弱的问一下,您的代码更改一点,是否也适用于提取附件里的电话号码?学习了
作者: zhanglei1371 时间: 2014-2-10 08:46
回复 11# mick00034
re.Pattern = "[\w\-\.]+@.+\.(com|cn|net)"
换成
re.Pattern = "1\d{10}"
作者: battab 时间: 2014-2-16 12:39
回复 9# apang
fnd,findstr为什么会漏掉匹配数据,请指教?
作者: apang 时间: 2014-2-16 13:20
本帖最后由 apang 于 2014-2-16 13:22 编辑
回复 12# battab
附件中有很多类似这样的不规则的行:- 谢华电子邮箱:349172507@qq.com移动电话:15311318739
- 王力飞电话:13811074493|邮箱 ]wanglifeidv@126.com
- 臧丽媛联系方式:13366640525 邮箱地址:up2013tess@foxmail.com
复制代码
用 find /i "mail" 1.txt 或者用for取第二列都会遗漏
作者: edisong 时间: 2014-2-16 23:08
回复 battab
附件中有很多类似这样的不规则的行:用 find /i "mail" 1.txt 或者用for取第二列都会遗漏
apang 发表于 2014-2-16 13:20
请问,用“@”符号作为搜索判断依据可以吗?
为什么以上几位老大都没用啊?
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |