中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » vbs 如何返回文本内某字符出现的次数?
作者:
标题: vbs 如何返回文本内某字符出现的次数? 上一主题 | 下一主题
huzixuan
高级用户




积分 537
发帖 219
注册 2006-10-31
来自 芜湖
状态 离线
『楼 主』:  vbs 如何返回文本内某字符出现的次数?

test.txt 文本里有
12345671234567
12345
如何统计 "1" 出现过几次?

已经搜索过论坛,很赞赏兄们用 bat 完成的代码. 但不知用 vbs 如何完成

[ Last edited by huzixuan on 2007-4-30 at 03:13 AM ]



江湖远
碧空长
路茫茫

    一个人漫无目的的奔跑,风,刺骨的冷....
2007-4-30 03:12
查看资料  发短消息 网志   编辑帖子  回复  引用回复
heicai
中级用户





积分 385
发帖 156
注册 2007-1-19
状态 离线
『第 2 楼』:  

我的水平来看,用bat貌似更容易些。

2007-4-30 03:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huzixuan
高级用户




积分 537
发帖 219
注册 2006-10-31
来自 芜湖
状态 离线
『第 3 楼』:  

缺陷就是 效率可能有些低 而且有些特殊字符很难处理



江湖远
碧空长
路茫茫

    一个人漫无目的的奔跑,风,刺骨的冷....
2007-4-30 03:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 4 楼』:  


set fso=createobject("scripting.filesystemobject")
set file=fso.opentextfile("test.txt",1)
a=file.readall
file.close
msgbox tongji(a,"1")
function tongji(a,b)
t=0:tongji=-1
do
t=instr(t+1,a,b)
tongji=tongji+1
loop until t=0
end function


   此帖被 +5 点积分         点击查看详情   
评分人:【 huzixuan 分数: +4  时间:2007-4-30 03:42
评分人:【 abczxc 分数: +1  时间:2007-4-30 07:07


2007-4-30 03:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huzixuan
高级用户




积分 537
发帖 219
注册 2006-10-31
来自 芜湖
状态 离线
『第 5 楼』:  

我总是不明白 function 是用来做什么的.



江湖远
碧空长
路茫茫

    一个人漫无目的的奔跑,风,刺骨的冷....
2007-4-30 03:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 6 楼』:  

function就是自己写一个函数,我写的这个函数用法是tongji("内容","要查找的内容")这个形式的。希望你能明白,同时希望采纳进百度里的回答... 哈哈

[ Last edited by jmz573515 on 2007-4-29 at 03:38 PM ]

2007-4-30 04:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 7 楼』:  

tongji =通缉,呵呵
我有点看懂了,不过好像脚本中有错误的吧
function tongji(a,b)
t=0:tongji=-1
do
t=instr(t+1,a,b)
tongji=tongji+1
loop until t=0
end function
如果t=instr(t+1,a,b)找不到
tongji=tongji+1也会执行。

2007-4-30 05:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 8 楼』:  

哈,所以没有的时候就是0次了

2007-4-30 05:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huzixuan
高级用户




积分 537
发帖 219
注册 2006-10-31
来自 芜湖
状态 离线
『第 9 楼』:  

兄 原来就是 百度 的那位 "VBS神秘人" "VBS问题终结者" 吗!!



江湖远
碧空长
路茫茫

    一个人漫无目的的奔跑,风,刺骨的冷....
2007-4-30 06:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 10 楼』:  

就这个地方不懂,如果字符没找到,但是tongji=tongji+1仍然执行,那么不是字符没出现它也会累加一次啊

2007-4-30 06:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 11 楼』:  

原来我负给它的值是-1而这个循环是一定会执行一次的,不管找到与否(如果没有找到循环一次就退出了,所以得到的就是0

2007-4-30 06:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 12 楼』:  

明白了,谢谢你解答

2007-4-30 07:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: