Board logo

标题: 如何统计某个字符串在文本中出现的次数? [打印本页]

作者: namejm     时间: 2006-6-14 19:39    标题: 如何统计某个字符串在文本中出现的次数?

  比如有个文本文件,里面有几行内容,比如:
  1,2,3,4
      7,8,9,10
      ……
  如何统计其中逗号的个数?
作者: bagpipe     时间: 2006-6-15 10:53
其实对于此类题目我并没有很好的办法,本人觉得局限性也很大,没有找到很好的办法解决,不过楼主可以试试以下代码:

@echo off
setlocal enabledelayedexpansion
set a=
for /f "delims=" %%a in (要检索的文件.txt) do set a=!a!%%a
:back
set /a b+=1
set a=%a:*,=%
if "%a%"=="这里是最后一个逗号后面内容" goto end
goto back

:end
echo 共有 %b% 个逗号
作者: piziliu2004     时间: 2006-6-15 13:50
to: bAGPIPE  

set a=%a:*,=%是什麼意思.?
作者: kcdsw     时间: 2006-6-15 15:23
看帮助

set 变量名=%变量:1=2%
这个意思是说 用=后边的2替换前边的1
作者: namejm     时间: 2006-6-15 16:07
  感谢bagpipe,在你的代码基础上,我稍加改造就能用了。
  ——你说的局限性应该是if "%a%"=="这里是最后一个逗号后面内容" goto end这句要手工输入内容吧?
作者: bagpipe     时间: 2006-6-16 08:30
我所说的局限性并非namejm兄所说,其实“最后一个逗号后面的内容”我可以得到,我所说的局限性就是因为你把文件中所有字符都赋值给一个变量,而这个变量最大能够承受多少字符,如果最后逗号后面没有字符,这种情况就不成了