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

[文本处理] BAT如何提取txt文件中包含某字符串的后几位

[复制链接]
发表于 2019-7-5 19:32:37 | 显示全部楼层 |阅读模式
本帖最后由 momoliang 于 2019-7-5 20:00 编辑

例如 1.txt:
add('msrmc','啦啦啦
('zjlxmc','身份证');add('zh','123456789012345678
;add('msrdh','45678912345')
想提取名字和身份证和手机号码需要结果为:
啦啦啦
123456789012345678
45678912345
输出到2.txt
文本上面有上百个信息和各种代码实在太乱
求助各位大佬
发表于 2019-7-5 20:25:52 | 显示全部楼层
没说清楚什么特征呀,把文件打包传上来吧
 楼主| 发表于 2019-7-5 20:43:43 | 显示全部楼层
回复 2# zaqmlp


add('msrmc','的后3个字
add('zh','的后18个字符
add('msrdh','的后11个字符
提取出来就可以了原TXT文件是客户购房信息不好透露 麻烦大佬了
发表于 2019-7-5 21:29:44 | 显示全部楼层
回复 3# momoliang
  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢赞助
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. cd /d "%~dp0"
  6. set "input=1.txt"
  7. set "output=2.txt"
  8. powershell -NoProfile -ExecutionPolicy bypass ^
  9.     $text=[IO.File]::ReadAllText('%input%', [Text.Encoding]::Default);^
  10.     $m=[regex]::matches($text,'add\(''msrmc'',''([^^'']*?)''^|add\(''zh'',''([^^'']*?)''^|add\(''msrdh'',''([^^'']*?)''');^
  11.     [System.Collections.ArrayList]$s=@();^
  12.     foreach($item in $m){^
  13.         [void]$s.add($item.groups[0].value.split(',')[1].trim(''''));^
  14.     };^
  15.     [IO.File]::WriteAllLines('%output%', $s, [Text.Encoding]::Default);
  16. echo;%info%
  17. pause
复制代码
发表于 2019-7-6 09:57:06 | 显示全部楼层
本帖最后由 WHY 于 2019-7-6 10:02 编辑
  1. grep -P -o "(?<='msrmc',')[^']*|(?<='zh',')\d{18}|(?<='msrdh',')\d{11}" 1.txt > 2.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 05:43 , Processed in 0.017300 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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