中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-23 03:18
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » VBS读取某个文本内容来判断是否存在某个字符怎写? 查看 725 回复 11
楼 主 VBS读取某个文本内容来判断是否存在某个字符怎写? 发表于 2008-04-21 21:11 ·  中国 上海 电信外高桥IDC机房
中级用户
★★
积分 231
发帖 102
注册 2008-01-25 23:45
18年会员
UID 109557
性别 男
状态 离线
VBS读取某个文本内容来判断文本里存不存在某个字符怎写?

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

然后判断这里面存不存在。比如 "love" 如果1。TXT里面有love就msgbox "yes"
没有就no
2 发表于 2008-04-21 21:37 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
strA = "love ***"
strB = "Love ***"
If instr(strA,"love") > 0 Then msgbox "yes" '区分大小写
If instr(1,strB,"love",1) > 0 Then msgbox "yes" '不区分大小写
3 发表于 2008-04-21 22:35 ·  中国 上海 电信外高桥IDC机房
中级用户
★★
积分 231
发帖 102
注册 2008-01-25 23:45
18年会员
UID 109557
性别 男
状态 离线
谢谢。
4 发表于 2008-04-21 23:52 ·  中国 上海 电信外高桥IDC机房
中级用户
★★
积分 231
发帖 102
注册 2008-01-25 23:45
18年会员
UID 109557
性别 男
状态 离线
strA = "l*********"
If instr(strA,"love") < 0 Then msgbox "no" '区分大小写
这样就不弹哦
5 发表于 2008-04-22 00:03 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
InStr 函数:返回某字符串在另一字符串中第一次出现的位置。
也就是最小为0,“0” < 0不成立,也就不能执行后面的命令
strA = "l*********"
If instr(strA,"love") = 0 Then msgbox "no"
6 发表于 2008-04-22 00:19 ·  中国 北京 华为云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
楼主已经说了,读取某个文本,来判断,只能是用正则了。
7 发表于 2008-04-22 01:40 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
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
8 发表于 2008-04-22 11:39 ·  中国 北京 华为云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
Originally posted by zh159 at 2008-4-22 01:40 AM:


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

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


这种用法处理不了特殊字符
9 发表于 2008-04-22 11:42 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
Originally posted by abcd at 2008-4-22 11:39:


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

请问是哪些特殊字符?

~!@#$%^&*()_+|?><?
10 发表于 2008-04-22 11:55 ·  中国 北京 华为云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
双引号
11 发表于 2008-04-22 12:05 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
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
"


回车、换行符号都可以查找
12 发表于 2008-04-22 12:19 ·  中国 北京 华为云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
谢谢,俺孤陋了。
论坛跳转: