标题: [文本处理] 批处理如何提取文本中的最后一个数字串? [打印本页]
作者: xiandai 时间: 2018-11-25 15:29 标题: 批处理如何提取文本中的最后一个数字串?
文本a如下:
ab 111222 bc 222333 dg 350060 ac 112231 bd
要求取出112231字符到b文本 ,数字随机,位数固定是6位
作者: flashercs 时间: 2018-11-25 18:43
Z.bat- @echo off
- set file1=A.txt
- set file2=B.txt
- powershell -Command "[System.IO.File]::WriteAllText('%~dp0%file2%',[regex]::Match([System.IO.File]::ReadAllText('%~dp0%file1%',[System.Text.Encoding]::Default),'\d{6}','RightToLeft').Value,[System.Text.Encoding]::Default)"
- pause
- exit /b
复制代码
作者: /zhqsystem/zhq 时间: 2018-11-25 20:36
注释说明:不区分列只认最后一组纯数字
- for /f "delims=" %%i in ('type ".\1.txt"')do (
- set "$=%%i"&set "data="&set "#="&set "n="
- for /l %%n in (1,1,11)do if defined $ for /f "tokens=1,* delims= " %%y in ("!$!")do (
- set "#=%%y"&set "$=%%z"
- for /l %%n in (0,1,9)do set "#=%%n!#!"
- for /l %%n in (0,1,9)do set "#=!#:%%n=!"
- if not defined # set "data=%%y"
- )
- if defined data (
- for /l %%n in (0,1,6)do if /i not "!data:~%%n,1!"=="" set/a "n=%%n+1"
- if /i "!n!"=="6" echo,!data!
- )
- )
复制代码
作者: cfwyy77_bat 时间: 2018-11-26 08:28
- $ grep -Po "\d{6}(?= [a-zA-Z]{1,}$)" a.txt >b.txt
复制代码
作者: xiandai 时间: 2018-11-28 08:12
感谢几位. 已解决
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |