中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » VBS读取某个文本内容来判断是否存在某个字符怎写?
作者:
标题: VBS读取某个文本内容来判断是否存在某个字符怎写? 上一主题 | 下一主题
hackhd
中级用户





积分 231
发帖 102
注册 2008-1-25
状态 离线
『楼 主』:  VBS读取某个文本内容来判断是否存在某个字符怎写?

VBS读取某个文本内容来判断文本里存不存在某个字符怎写?

比如VBS读取了1.txt里的所有内容。

然后判断这里面存不存在。比如 "love" 如果1。TXT里面有love就msgbox "yes"
没有就no

2008-4-21 21:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 2 楼』:  


strA = "love ***"
strB = "Love ***"
If instr(strA,"love") > 0 Then msgbox "yes"   '区分大小写
If instr(1,strB,"love",1) > 0 Then msgbox "yes"   '不区分大小写




2008-4-21 21:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hackhd
中级用户





积分 231
发帖 102
注册 2008-1-25
状态 离线
『第 3 楼』:  

谢谢。

2008-4-21 22:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hackhd
中级用户





积分 231
发帖 102
注册 2008-1-25
状态 离线
『第 4 楼』:  

strA = "l*********"
If instr(strA,"love") < 0 Then msgbox "no"   '区分大小写
这样就不弹哦

2008-4-21 23:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 5 楼』:  

InStr 函数:返回某字符串在另一字符串中第一次出现的位置。
也就是最小为0,“0” < 0不成立,也就不能执行后面的命令
strA = "l*********"
If instr(strA,"love") = 0 Then msgbox "no"




2008-4-22 00:03
查看资料  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 6 楼』:  

楼主已经说了,读取某个文本,来判断,只能是用正则了。

2008-4-22 00:19
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by abcd at 2008-4-22 00:19:
楼主已经说了,读取某个文本,来判断,只能是用正则了。

试试看
VBS
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("a.txt",1)
str = f.ReadAll
f.Close

If instr(str,"love") = 0 Then msgbox "no"
If instr(str,"love") > 0 Then msgbox "yes"
a.txt
asdas
asd
love




2008-4-22 01:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by zh159 at 2008-4-22 01:40 AM:


试试看
VBS
[code]Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("a.txt",1)
str = f.ReadAll
f.Close

If instr(str,"love") = ...

这种用法处理不了特殊字符

2008-4-22 11:39
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 9 楼』:  



  Quote:
Originally posted by abcd at 2008-4-22 11:39:


这种用法处理不了特殊字符

请问是哪些特殊字符?

~!@#$%^&*()_+|?><?



2008-4-22 11:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 10 楼』:  

双引号

2008-4-22 11:55
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by abcd at 2008-4-22 11:55:
双引号

双引号在VBS里面要用两个
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("a.txt",1)
str = f.ReadAll
f.Close

var = """"

If instr(str,var) = 0 Then msgbox "no"
If instr(str,var) > 0 Then msgbox "yes"
a.txt
asdas
asd
love
"
回车、换行符号都可以查找



2008-4-22 12:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 12 楼』:  

谢谢,俺孤陋了。

2008-4-22 12:19
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复

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


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



论坛跳转: