返回列表 发帖

[文本处理] [已解决]批处理如何提取文本中的邮箱地址?

本帖最后由 pcl_test 于 2016-11-16 19:05 编辑

祝大家新年快乐


张三        13366325775(手机)
E-mail:        970655918@qq.com
13439881949(手机)李四
E-mail:        sh1009i@163.com
1

评分人数

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

本帖最后由 522235677 于 2014-2-9 15:48 编辑
@echo off
for /f "tokens=2" %%i in ('findstr /i "mail" 1.txt') do echo %%i
pauseeCOPY

TOP

回复 2# 522235677

好像不行呀,,附件上传了,谢谢哈

TOP

本帖最后由 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
1

评分人数

TOP

回复 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]

TOP

我能给你有问题的代码?

TOP

本帖最后由 mick00034 于 2014-2-10 09:15 编辑

回复 6# 522235677

您的代码应该是没问题的,只是小弟不会导出那个效果呀,能指点一下就谢谢了。

是我弄错了,,,已经解决

TOP

本帖最后由 battab 于 2014-2-9 21:50 编辑

回复 7# mick00034
@echo off
for /f "tokens=2 " %%i in ('find/i "@" 1.txt') do echo %%i>>2.txtCOPY
6#随便给点样例就好了,搞那么长有点浪费。
1

评分人数

学习中

TOP

本帖最后由 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 sCOPY
1

评分人数

TOP

本帖最后由 mick00034 于 2014-2-10 07:49 编辑

回复 10# apang
您说的很对,数据差几十个,如果原始数据大的话,就差更多了,谢谢热心帮助,

弱弱的问一下,您的代码更改一点,是否也适用于提取附件里的电话号码?学习了

TOP

回复 11# mick00034


    re.Pattern = "[\w\-\.]+@.+\.(com|cn|net)"
换成
re.Pattern = "1\d{10}"
1

评分人数

TOP

回复 9# apang


    fnd,findstr为什么会漏掉匹配数据,请指教?
学习中

TOP

本帖最后由 apang 于 2014-2-16 13:22 编辑

回复 12# battab
附件中有很多类似这样的不规则的行:
谢华电子邮箱:349172507@qq.com移动电话:15311318739
王力飞电话:13811074493|邮箱 ]wanglifeidv@126.com
臧丽媛联系方式:13366640525 邮箱地址:up2013tess@foxmail.comCOPY
用 find /i "mail" 1.txt 或者用for取第二列都会遗漏

TOP

回复  battab
附件中有很多类似这样的不规则的行:用 find /i "mail" 1.txt 或者用for取第二列都会遗漏
apang 发表于 2014-2-16 13:20


请问,用“@”符号作为搜索判断依据可以吗?
为什么以上几位老大都没用啊?

TOP

返回列表