可以采用“旁门左道”的方式使用Instr函数实现代码的简练。下面是一个典型的例子,检测字符串中是否包含一个元音字母:
1、普通的方法:
IfUCase$(char)="A"OrUCase$(char)="E"OrUCase$(char)="I"OrUCase$(char)="O"OrUCase$(char)="U"Then
'itisavowel
EndIf
2、更加简练的方法:
IfInStr("AaEeIiOoUu",char)Then
'itisavowel
EndIf
同样,通过单词中没有的字符作为分界符,使用InStr来检查变量的内容。下面的例子检查Word中是否包含一个季节的名字:1、普通的方法:
IfLCase$(word)="winter"OrLCase$(word)="spring"OrLCase$(word)=_"summer"OrLCase$(word)="fall"Then
'itisaseason'sname
EndIf
2、更加简练的方法:
IfInstr(";winter;spring;summer;fall;",";"&word&";")Then
'itisaseason'sname
EndIf
有时候,甚至可以使用InStr来替代Select
Case代码段,但一定要注意参数中的字符数目。下面的例子中,转换数字0到9的相应英文名称为阿拉伯数字:1、普通的方法:
SelectCaseLCase$(word)
Case"zero"
result=0
Case"one"
result=1
Case"two"
result=2
Case"three"
result=3
Case"four"
result=4
Case"five"
result=5
Case"six"
result=6
Case"seven"
result=7
Case"eight"
result=8
Case"nine"
result=9
EndSelect
2、更加简练的方法:
result=InStr(";zero;;one;;;two;;;three;four;;five;;six;;;seven;eight;nine;",";"&LCase$(word)&";")\6->