可以采用“旁門左道”的方式使用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->