中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-14 23:31
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何提取 <字母+数字>组合中的数字 查看 3,804 回复 18
16 发表于 2006-12-28 22:08 ·  中国 湖南 郴州 电信
初级用户
积分 66
发帖 28
注册 2006-11-01 04:54
19年会员
UID 69099
性别 男
状态 离线
问题又来了.不好意思,
数字是提出来了.比如用户输入的是a001 & a100
如果是像a001这样的数.我需要的是把前面的a00去掉..
如果是a100这样的数,我只需要要a100去掉,上面的代码可以实现

也就是是说对用户输入的数值要有一个判断.如果字母后面的数字是0的话不取.取0后面的数.像我说的上面的a001.我只取1. 但是别的输入a100我要取100
这个感觉比较难.
17 发表于 2006-12-29 02:31 ·  中国 甘肃 甘南藏族自治州 合作市 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
Originally posted by jmz573515 at 2006-12-28 21:59:
有一个想法,不知道输入密码时能不能用到这种方法?

可以啊
18 发表于 2006-12-31 00:03 ·  中国 河南 许昌 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
Originally posted by mouzeming at 2006-12-28 09:08:
问题又来了.不好意思,
数字是提出来了.比如用户输入的是a001 & a100
如果是像a001这样的数.我需要的是把前面的a00去掉..
如果是a100这样的数,我只 ...

@echo off
set "var=abc000123000"
for %%n in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do call set var=%%var:%%n=%%
:loop
if "%var:~0,1%" == "0" set var=%var:~1%&&goto loop
echo %var%
pause
19 发表于 2007-05-08 19:55 ·  中国 广东 中山 电信
初级用户
★★
积分 127
发帖 62
注册 2007-04-19 12:43
19年会员
UID 85744
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion

set/p aa=Enter your text:

if not defined aa goto :eof
set number=

:loop
if not defined aa goto :e
echo %aa:~0,1%|findstr "[0-9]">nul&&set number=!number!%aa:~0,1%
set aa=%aa:~1%
goto loop
:e
echo !number!
pause
论坛跳转: