bat怎么从字符串里面提取数字?

bat怎么从字符串里面提取数字啊?比如str="有1个姑娘"怎么把1提取出来?str有可能是这样的str="有2个姑娘",str="有3个姑娘"怎么吧数字提取出来呢?... bat怎么从字符串里面提取数字啊?
比如str="有1个姑娘"怎么把1提取出来?
str有可能是这样的str="有2个姑娘",str="有3个姑娘"
怎么吧数字提取出来呢?
展开
 我来答
依梦琴瑶
高粉答主

2017-04-25 · 说的都是干货,快来关注
知道顶级答主
回答量:6.9万
采纳率:82%
帮助的人:1.7亿
展开全部
@echo off&setlocal enabledelayedexpansion
::至于这个str变量值,请自行获取
set str="有1个姑娘"

set str_a=!str!
set str_b=!str!
for /l %%a in (0,1,9) do set str_a=!str_a:%%a=!
call:calc !str_a!
echo 源值 !str! 中包含的数字为 !str_b!
pause
exit

:calc
set n=0
set "s=%~1"
:loop
set "t=!s:~%n%,1!"
if "%t%"=="" (
    set "str_b=!str_b:"=!"
    goto :eof
)
set "str_b=!str_b:%t%=!"
set /a n+=1
goto loop

qop_dob
2021-05-25 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:79%
帮助的人:3987万
展开全部

复制粘贴到记事本,另存为xx.bat,编码选ANSI

@echo off
rem 从一行字符串/一句话中提取出数字
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
set "line=09x呵呵x1123hhdj5745测试"
>"%tmp%\j.j" echo;var m=WSH.Arguments(0).match(/\d+/g);WSH.echo(m.join('\r\n'))
for /f "delims=" %%a in ('cscript -nologo -e:jscript "%tmp%\j.j" "%line%"') do (
    echo;%%a
)
echo;%#% +%$%%$%/%@% %z%
pause
exit
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式