中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何提取 <字母+数字>组合中的数字
« [1] [2] »
作者:
标题: 如何提取 <字母+数字>组合中的数字 上一主题 | 下一主题
mouzeming
初级用户





积分 66
发帖 28
注册 2006-11-1
状态 离线
『楼 主』:  如何提取 <字母+数字>组合中的数字

用户输入  字母和数字的组合。。比如 home001
我要如何才能提取001
字母和数字都不限长度。。
不知道批处理能不能实现.
望高手指点.论坛里没有搜到相关资料

2006-12-28 04:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 2 楼』:  

  数字和字母有可能是混杂的吗?还是数字是一截,字母是另外一截?



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-12-28 06:12
查看资料  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 3 楼』:  

我见过一例,要用字典

setlocal enabledelayedexpansion
set /p a=..
set b=%a%
for /f %%i in (dict.txt) do set b=!b:%%i=!
记不清了

2006-12-28 06:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
mouzeming
初级用户





积分 66
发帖 28
注册 2006-11-1
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by namejm at 2006-12-28 06:12 AM:
  数字和字母有可能是混杂的吗?还是数字是一截,字母是另外一截?

是的。前面是字母。后面是数字。
这个是固定的。

2006-12-28 06:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
9527
银牌会员

努力做坏人


积分 1185
发帖 438
注册 2006-8-28
来自 北京
状态 离线
『第 5 楼』:  

不管你的数字和文字是否混杂,全办,呵呵......
没有测试特殊符号
@echo off&setlocal
set/p aa=Enter your text:
call :pp
echo %b%
goto :eof
:pp
:loop
if not defined aa goto :eof
echo %aa:~0,1%|findstr "[0-9]">nul&&set b=%b%%aa:~0,1%
set aa=%aa:~1%&goto loop
goto :eof
不过感觉这段代码有些臃肿

[ Last edited by 9527 on 2006-12-28 at 06:34 AM ]



我今后在论坛的目标就是做个超级坏人!!!
2006-12-28 06:33
查看资料  发短消息 网志  OICQ (329429)  编辑帖子  回复  引用回复
tao0610
高级用户

朦胧的世界


积分 579
发帖 218
注册 2006-10-24
状态 离线
『第 6 楼』:  

直接把字母替换没就可以!




认识自己,降伏自己,改变自己
,才能改变别人!
2006-12-28 06:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 7 楼』:  

精彩!!!欣赏~~~



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-12-28 06:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 8 楼』:  

set "var=abc123 &^*"
echo "%var%"|sed "s/^\x22//;s/\x22$//;s/[a-z]//g"

2006-12-28 06:41
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 9 楼』:  

  呵呵,其实我只是想问问楼主,只截取指定的某一段数字还是提取字符串中所有的数字。如果只是提取所有的数字的话,那就好办得多,直接把字母替换成空值就可以了,但是楼主的本意似乎不是这样。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-12-28 07:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
9527
银牌会员

努力做坏人


积分 1185
发帖 438
注册 2006-8-28
来自 北京
状态 离线
『第 10 楼』:  

那就请namejm大版主把楼主所需要的代码放出来吧,也让我们这些晚辈多多学习....



我今后在论坛的目标就是做个超级坏人!!!
2006-12-28 08:29
查看资料  发短消息 网志  OICQ (329429)  编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by mouzeming at 2006-12-27 17:28:

是的。前面是字母。后面是数字。
这个是固定的。

按楼主说法,数据前面是字母。后面是数字,是固定的,那 namejm 版主就不用担心字母数字混杂了
@echo off
set "var=abc123"
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=%%
echo %var%
pause


2006-12-28 08:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
mouzeming
初级用户





积分 66
发帖 28
注册 2006-11-1
状态 离线
『第 12 楼』:  

谢谢大家了。。明天在公司试下。。

b=%b%%aa:~0,1%

set "var=abc123 &^*"
echo "%var%"|sed "s/^\x22//;s/\x22$//;s/[a-z]//g"

set var=%%var:%%n=%%

这些麻烦大家解释下。实在是看不懂。搜索也无从下手.!

2006-12-28 11:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 13 楼』:  

8 楼的要“sed”这个软件

2006-12-28 11:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 14 楼』:  

顶~~欣赏~~~!!!



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-12-28 11:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 15 楼』:  

有一个想法,不知道输入密码时能不能用到这种方法?

2006-12-28 21:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: