我有一个文字,例如:
cd123aaq54 而且我只想将另一个文件中的数字分开,所以我可以
12354 在输出中。
我一直在尝试很多像
这样的命令Get-Content text.txt | Select-String -Pattern'[0-9]' 在linux中它更容易,只是
grep -o'[0-9] [0-9] *'text>数字
我知道在Powershell中是 @(Get-Content text.txt)-replace'\ D','' 但它太慢了(我希望它循环) 我怎么能在经典cmd中做? 谢谢!
答案 0 :(得分:0)
@ECHO OFF
SETLOCAL
SET "input=cd123aaq54"
CALL :numsonly result "%input%"
ECHO %input% --^> %result%
SET "input=cd5z43a q21p"
CALL :numsonly result "%input%"
ECHO %input% --^> %result%
GOTO :EOF
:numsonly
setlocal
SET "$1="
SET "$2=%~2"
:numsloop
IF "%$2:~0,1%" geq "0" IF "%$2:~0,1%" leq "9" SET "$1=%$1%%$2:~0,1%"
SET "$2=%$2:~1%"
IF DEFINED $2 GOTO numsloop
endlocal&SET "%1=%$1%"
GOTO :eof
如果需要,可以将:numsonly
子例程放入单独的批处理文件中。