![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 17:59 |
共 47,811 主题排行 / 349,896 发帖 / 今日 1 篇 / 48,254 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如何统计某个字符串在文本中出现的次数? |
| 可打印版本 2,997 / 5 |
| 第1楼 namejm | 发表于 2006-06-14 19:39 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
如何统计某个字符串在文本中出现的次数? 比如有个文本文件,里面有几行内容,比如:
1,2,3,4 7,8,9,10 …… 如何统计其中逗号的个数? |
|
| 第2楼 bagpipe | 发表于 2006-06-15 10:53 |
| 银牌会员 发帖 425 积分 1,144 来自 北京 | |
|
其实对于此类题目我并没有很好的办法,本人觉得局限性也很大,没有找到很好的办法解决,不过楼主可以试试以下代码:
@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% 个逗号 |
|
| 第3楼 piziliu2004 | 发表于 2006-06-15 13:50 |
| 中级用户 发帖 139 积分 321 | |
|
to: bAGPIPE
set a=%a:*,=%是什麼意思.? |
|
| 第4楼 kcdsw | 发表于 2006-06-15 15:23 |
| 中级用户 发帖 179 积分 404 | |
|
看帮助
set 变量名=%变量:1=2% 这个意思是说 用=后边的2替换前边的1 |
|
| 第5楼 namejm | 发表于 2006-06-15 16:07 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
感谢bagpipe,在你的代码基础上,我稍加改造就能用了。
——你说的局限性应该是if "%a%"=="这里是最后一个逗号后面内容" goto end这句要手工输入内容吧? |
|
| 第6楼 bagpipe | 发表于 2006-06-16 08:30 |
| 银牌会员 发帖 425 积分 1,144 来自 北京 | |
|
我所说的局限性并非namejm兄所说,其实“最后一个逗号后面的内容”我可以得到,我所说的局限性就是因为你把文件中所有字符都赋值给一个变量,而这个变量最大能够承受多少字符,如果最后逗号后面没有字符,这种情况就不成了
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |