Board logo

标题: [数值计算] 批处理如何判断变量中包含多少个属于数字的字符? [打印本页]

作者: heyoug    时间: 2011-2-8 18:39     标题: 批处理如何判断变量中包含多少个属于数字的字符?

如题,例变量A=A1B2C3D4EFG  如何才能知道他包含了4个数字字符?
作者: CUer    时间: 2011-2-8 19:41

  1. echo %A% | grep -o "[0-9]" | grep -c ""
复制代码

作者: 随风    时间: 2011-2-8 20:13

  1. @echo off&setlocal enabledelayedexpansion
  2. set "A=A1B2C3D4EFG"
  3. set b=1g%a: =%
  4. for /l %%i in (0 1 9) do set b=!b:%%i= %%i!
  5. for %%i in (%b%) do set /a n+=1
  6. set /a n-=1
  7. echo %a%  有 %N% 个数字
  8. pause
复制代码

作者: Batcher    时间: 2011-2-8 20:30     标题: 回复 3楼 的帖子

A=!1!的时候会出错
作者: CrLf    时间: 2011-2-9 01:56

另类方法,一时灵感原创:
  1. @echo off
  2. set str=1哈哈32的说法jsdlfSDFKJ
  3. echo>1.txt "%str%"
  4. echo>2.txt "                             "
  5. set n=0
  6. for /f %%a in ('fc /b 1.txt 2.txt^|findstr "^..........3"') do set /a n+=1
  7. echo 共有%n%个数字
  8. pause
复制代码

反正2.txt每一行的字节都比1.txt多,而且没有数字就行了,缺点显而易见,玩玩而已,无所谓...

[ 本帖最后由 zm900612 于 2011-2-9 01:57 编辑 ]




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2