DOS 批处理 将一个以空格为分隔符的字符串中特定格式的字符串取出并赋值给变量
如:张三6s7ew89李四56ee789取出含数字部分并赋值给变量。我用这个取出显示数字却不知怎么赋值给变量FOR%iin(张三67ew89李四56ee789)do@ec...
如:
张三 6s7ew89 李四 56ee789
取出含数字部分并赋值给变量。
我用这个取出显示数字却不知怎么赋值给变量
FOR %i in (张三 67ew89 李四 56ee789) do @echo %i | findstr [0-9]
请高手赐教。。 展开
张三 6s7ew89 李四 56ee789
取出含数字部分并赋值给变量。
我用这个取出显示数字却不知怎么赋值给变量
FOR %i in (张三 67ew89 李四 56ee789) do @echo %i | findstr [0-9]
请高手赐教。。 展开
1个回答
展开全部
应该把完整需求说出来的,不然就此写的你未必会进一步改
要写到批处理中:
@echo off
set str=6s7ew89 李四 56ee789
set/a n=0
for %%i in (%str%)do echo;%%i>tem
for /f "tokens=1* delims=:" %%i in ('findstr/n [0-9] tem')do set s%%i=%%j&set n=%%i
del tem
rem 已把含数字部分保存到数组变量s1-sn 了,例如可以用下面代码显示,其实这个步骤没必要,只需在上一步的for里的%%j 就是需要的变量,该作什么从那就可以做了:
setlocal enabledelayedexpansion
if %n% gtr 0 for /L %%i in (1,1,%n%)do echo !s%%i!
pause
要写到批处理中:
@echo off
set str=6s7ew89 李四 56ee789
set/a n=0
for %%i in (%str%)do echo;%%i>tem
for /f "tokens=1* delims=:" %%i in ('findstr/n [0-9] tem')do set s%%i=%%j&set n=%%i
del tem
rem 已把含数字部分保存到数组变量s1-sn 了,例如可以用下面代码显示,其实这个步骤没必要,只需在上一步的for里的%%j 就是需要的变量,该作什么从那就可以做了:
setlocal enabledelayedexpansion
if %n% gtr 0 for /L %%i in (1,1,%n%)do echo !s%%i!
pause
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询