![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 13:03 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求助 findstr 或 sed 怎么判断变量是否为纯中文字 |
| 可打印版本 3,024 / 10 |
| 第1楼 vkill | 发表于 2006-11-02 07:41 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
求助 findstr 或 sed 怎么判断变量是否为纯中文字 set/p "var=" name=
我怎么判断%name%是否为纯中文字,例如"张三"可以,而"张3"等类似则不行 [ Last edited by he200377 on 2006-11-2 at 07:42 AM ] |
|
| 第2楼 youxi01 | 发表于 2006-11-02 08:44 |
| 高级用户 发帖 247 积分 846 来自 湖南==》广东 | |
|
看看我们版主的老帖子:
http://www.cn-dos.net/forum/viewthread.php?tid=22938&fpage=1&highlight=%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F 提一个简单的解决办法(过滤效果不敢恭维): @echo off set/p var= name: echo %var% |findstr "">nul && echo 含非中文!||echo 好的,输入正确! pause>nul |
|
| 第3楼 无奈何 | 发表于 2006-11-02 09:41 |
| 荣誉版主 发帖 356 积分 1,338 | |
|
sed 的没搞出来,来个 GREP 的吧,
echo %name%|grep -P "^[^\x00-\x80]+$" >nul&& ok!通过! 注意:这个表达式全角符号也会通过。 |
|
| 第4楼 namejm | 发表于 2006-11-02 09:46 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
在2F的基础上写个演示代码,在不考虑输入敏感字符的情况下,可以判断输入的是不是数字和字母的混合格式:
|
|
| 第5楼 amao | 发表于 2006-11-02 12:42 |
| 中级用户 发帖 152 积分 316 | |
|
在这里又学到了grep的一个例子
|
|
| 第6楼 9527 | 发表于 2006-11-03 01:38 |
| 银牌会员 发帖 438 积分 1,185 来自 北京 | |
|
echo 我是谁|findstr "^[^a-zA-Z0-9;:|~`!@#%&{}_+-="',/\\\.\*\[\]\^\$\?]*$"
|
|
| 第7楼 vkill | 发表于 2006-11-03 07:17 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
findstr "^[0-9a-zA-Z] 我在想难道除了字母数字剩下的就是中文吗?
张,三 也算吗? 无奈何斑竹的还没有试,要求是春中文字 ,不包括& | % 等等 |
|
| 第8楼 vkill | 发表于 2006-11-04 07:26 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
Originally posted by 无奈何 at 2006-11-2 09:41: 今天再看看,ASII码值应运的真好~我linux的教材上看没有看到-P的参数,看要找点资料看看了 |
|
| 第9楼 无奈何 | 发表于 2006-11-04 11:56 |
| 荣誉版主 发帖 356 积分 1,338 | |
|
grep 高版本好像是 2.5 以后加入的参数,-P 参数的作用是用 perl 样式的正则表达式匹配模式。
|
|
| 第10楼 vkill | 发表于 2006-11-09 02:44 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
echo %name%|sed "s/[\x00-\x80]/,/" |findstr ",">nul ||echo ok
|
|
| 第11楼 3742668 | 发表于 2006-11-09 08:55 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
据说汉字区位码中一级字库是按拼音来排列的,没有时间测试,有朋友发现bug的吱一声。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |