用InStr函数实现代码减肥
浏览次数:【582】 发布日期:2009-8-13 12:09:22 文章分类:Asp编程
可以采用“歪门邪道”的形式使用Instr函数实现代码的简练。下面是一个典型的案例,检测字符串中是否包含一个元音字母:
1、一般的要领:
If UCase$(char) = "A" Or UCase$(char) = "E" Or UCase$(char) = "I" Or UCase$(char) = "O" Or UCase$(char) = "U" Then
’ it is a vowel
End If
2、更加简练的要领:
If InStr("AaEeIiOoUu", char) Then
’ it is a vowel
End If
同样,通过单词中没有的字符作为分界符,使用InStr来检查变量的内容。下面的案例检查Word中是否包含一个季节的称号: 1、一般的要领:
If LCase$(word) = "winter" Or LCase$(word) = "spring" Or LCase$(word) = _ "summer" Or LCase$(word) = "fall" Then
’ it is a season’s name
End If
2、更加简练的要领:
If Instr(";winter;spring;summer;fall;", ";" & word & ";") Then
’ it is a season’s name
End If
有时候,甚至可以使用InStr来替代Select
Case代码段,但务必要谨防参数中的字符数目。下面的案例中,转换数字0到9的相应英文名称为阿拉伯数字: 1、一般的要领:
Select Case LCase$(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
End Select
2、更加简练的要领:
result = InStr(";zero;;one;;;two;;;three;four;;five;;six;;;seven;eight;nine;", ";" & LCase$(word) & ";") \ 6