批次:将数字和字符分开

时间:2019-11-29 13:28:47

标签: windows batch-file cmd

我想知道是否有人知道从字符中分离数字或删除字符的好方法,以便可以仅使用Windows中的“批处理”将它们存储在变量中,因此看起来类似于以下内容...

输入:

1A
12B
16BA
16BB
31C

输出:

A
B
BA
BB
C

2 个答案:

答案 0 :(得分:0)

我想我可能已经找到了想要的东西。

输入:

SET test=016BA
FOR /F "delims=0,1,2,3,4,5,6,7,8,9" %%G IN ("%test%") DO SET position=%%G
echo Position: %position%
pause

输出:

Position: BA

答案 1 :(得分:0)

如果您需要在同一字符串中设置仅包含非数字的变量:


@echo off & setlocal EnableDelayedExpansion & title %~0

:: get non number in variable with same name in loop :: 
for %%S in (1A 12B 16BA 16BB 31C) do ( for /f %%n in ('
cmd/u/c echo="%%~S"^<nul^|find /v " "^|findstr /v [0-9]
')do set "_%%S=!_%%S!%%~n")&& echo/Position _%%S=!_%%S!

  • 输出:
Position _1A=A
Position _12B=B
Position _16BA=BA
Position _16BB=BB
Position _31C=C