标题: [文本处理] [已解决]批处理怎么判断字符串是字母还是数字? [打印本页]
作者: 封印 时间: 2011-6-30 12:26 标题: [已解决]批处理怎么判断字符串是字母还是数字?
要求是这样的。。
输入一个字符串,然后判断字符串的开头是字母还是数字。
如果是字母则执行A命令
如果是数字则执行B命令
如:如果输入的是k123,字符串开头一位为字母k。则执行A命令。
(基础不过关啊,这么简单都忘了呵呵。)
作者: Demon 时间: 2011-6-30 12:34
findstr /?
作者: 封印 时间: 2011-6-30 12:54
2# Demon
这个命令早看过了。。
我用得不熟练。。可以帮忙给个代码不?
作者: CrLf 时间: 2011-6-30 13:08
方法不少,可以用findstr,也可以用if- set /p in=input
- if "!in!" geq a if !in! leq Z echo 字母
- if "!in!" geq 0 if !in! leq 9 echo 数字
复制代码
作者: 封印 时间: 2011-6-30 15:06
4# zm900612
这个可以提取首字符吗??
作者: mxxcgzxxx 时间: 2011-6-30 15:11
本帖最后由 mxxcgzxxx 于 2011-6-30 15:13 编辑
- set /p p=
- echo %p%|findstr "^[a-Z]" &&echo 字母||echo 非字母开头
- echo %p%|findstr "^[0-9]*$" &&echo 纯数字
复制代码
作者: 封印 时间: 2011-6-30 15:12
4# zm900612
这个没效果啊。。。
作者: terse 时间: 2011-6-30 15:59
直接 IF 不行吗
作者: CrLf 时间: 2011-6-30 16:06
7# 封印
如果之前没开变量延迟,那就在代码前加一行 setlocal enabledelayedexpansion
作者: 封印 时间: 2011-6-30 17:27
6# mxxcgzxxx
嗯,这个非常有效,代码也很简洁。。。谢谢了
作者: 封印 时间: 2011-6-30 17:27
7# 封印
如果之前没开变量延迟,那就在代码前加一行 setlocal enabledelayedexpansion
zm900612 发表于 2011-6-30 16:06
这个,我试了,加上也没效果。。。不过也谢谢你的思路了。。
作者: noender 时间: 2019-8-9 14:22
回复 6# mxxcgzxxx
你好大神。请问一下判断变量最后一位是数字还是字母。需要怎么改。谢谢
作者: noender 时间: 2019-8-9 14:34
回复 6# mxxcgzxxx
echo %p%|findstr /i "\d$" &&echo 字母||echo 非字母开头 这样写正确的吗。如果不区分大小写是不是直接i上去就行。?
作者: noender 时间: 2019-8-9 15:20
回复 6# mxxcgzxxx
我想请问一下。。这个如果是字母我不goto到某处,,是数字就goto到某处,,要怎么修改呢。。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |