巧用Like運算子

2021-08-26 01:33:20 字數 2272 閱讀 2005

like:用來比較兩個字串。

like運算子的語法具有以下幾個部分:

部分描述

result

必需的;任何數值變數。

string

必需的;任何字串表示式。

pattern

必需的;任何字串表示式,遵循「說明」中的模式匹配約定。

如果 string

與 pattern

匹配,則

result

true;如果不匹配,則result

false。但是如果 string

或 pattern

中有乙個為 null,則 result

null

內建的模式匹配功能提供了多種工具來進行字串比較。有了模式匹配功能就可以使用萬用字元、字串列表或字元區間的任何組合來匹配字串。下列**指出pattern

中允許的字元以及它們與什麼進行匹配:

pattern 中的字元

符合string 中的

?任何單一字元。

*零個或多個字元。

#任何乙個數字 (0–9)。

[charlist

]charlist

.中的任何單一字元。

[!charlist

]不在charlist 中的任何單一字元。

在中括號([ ]) 中,可以用由乙個或多個字元 (charlist)

組成的組與string

中的任一字元進行匹配,這個組幾乎包括任何乙個字元**以及數字。

注意為了與左括號([)、問號 (?)、數字符號 (#) 和星號 (*) 等特殊字元進行匹配,可以將它們用方括號括起來。不能在乙個組內使用右括號 (]) 與自身匹配,但在組外可以作為個別字元使用。

通過在範圍的上、下限之間用連字元(),charlist

可以指定字元的範圍。例如,如果string

中相應字元的位置包括 a–z 之間的任意大寫字母,則[a-z]得到乙個匹配。不需要分界符,方括號內就可以包括多個範圍

下面列舉的是模式匹配的其它重要規則:

本示例使用like運算子做字串的方式比較。

本示例使用 like 運算子做字串的方式比較。

dim mycheck

mycheck = "abbba" like "a*a" ' 返回 true。

mycheck = "f" like "[a-z]" ' 返回 true。

mycheck = "f" like "[!a-z]" ' 返回 false。

mycheck = "a2a" like "a#a" ' 返回 true。

mycheck = "am5b" like "a[l-p]#[!c-e]" ' 返回 true。

mycheck = "bat123khg" like "b?t*" ' 返回 true。

mycheck = "cat123khg" like "b?t*" ' 返回 false。

利用like運算子可以簡單的實現文字框的限制字元:如只限制輸入數字和字母:
private sub text1_change()

dim s as string

for i = 1 to len(text1)

s = mid(text1, i, 1)

if s like "[!0-9]" and s like "[!a-z]" and s like "[!a-z]" then

text1 = replace(text1, s, "")

end if

next

end sub

注:資料摘自msdn,今天再限制範圍的時候感覺特別好用,又複習一遍。

VBA知識 Like運算子詳解

like運算子用於判斷給定的字串是否與指定的模式相匹配,其語法為 結果 字串 like 模式 其中 1.字串 為文字字串或者對包含文字字串的單元格的引用,是要與 模式 相比較的字串,資料型別為string型。2.模式 資料型別為string型,可以使用一些特殊字元,其它的字元都能與它們相匹配,如下圖...

(運算子) 運算子

運算子既可作為一元運算子也可作為二元運算子。備註 unsafe context data guid 00bf87717d88a9fac1afadb796c675da 一元 運算子返回運算元的位址 要求 unsafe 上下文 bool data guid 9efd189df2cfb88799dca08...

JS運算子 算術運算子 比較運算子 賦值運算子

兩邊的變數都是number型別 則是單純的加法運算 當字串出現時 結果是字串型別 字串之後的內容 不論什麼型別 都會被作為字串進行拼接 例子 var num1 10 var num2 20 num num1 num2 var result num1 num2 num1 false console.l...