本函數比較兩文字串,若字串相同則函數傳回 .T. (True),否則傳回 .F. (False)。Visual FoxPro 在利用 "=" 等算符進行文字串比較的時候,假如左方的字串比右方的字串長的話,左方所多出的字將會被忽略(見下例),這對許多不習慣的使用者來說是一個陷阱,利用 Match( ) 函數則可避開這陷阱。
假如函數的第二參數的文字串中包含了通配字元 * 或 ?,則這字串可以視作一範本 (Template),「*」可以對應數目不限的任何字母,而「?」則可以對應任可單一的字母(中文或英文)。
使用算符 =:
比較算式 |
傳回值 |
說明 |
"ABC"="AB" |
.T. |
Visual FoxPro 在利用">","<" 和 "=" 等算符進行文字串比較的時候,假如左方的字串比右方的字串長的話,左方所多出的字將會被忽略,所以左方的 "C" 不在比較之列 |
"AB"="ABC" |
.F. |
Visual FoxPro 在利用">","<" 和 "=" 等算符進行文字串比較的時候,假如左方的字串比右方的字串長的話,右方所多出的字參與比較,所以右方的 "C" 較右方為大 |
"AB"="AB" |
.T. |
使用 Match( ):
比 較 |
傳 回 值 |
Match("ABC","AB") |
.F. |
Match("AB","ABC") |
.F. |
Match("AB","AB") |
.T. |
Match('Ab','ab') |
.T. |
Match('Ab','ab',1) |
.F. |
Match('Abc','a*') |
.T. |
Match('Abc','a*',1) |
.F. |
Match('Abc','A??') |
.T. |
Match('Abc','ABC ') |
.T. |
Match('Abc','ABC ',2) |
.F. |
Match('Abc','Abc ',3) |
.F. |
語法
Match(cValue1,cValue2,nFlag)
Match(cValue1,cTemplate,nFlag)
參數
cValue1 及 cValue2
要比較的文字串
nFlag
0 或省略:不理會尾部的空白及不拘大小寫
1:比較文字時拘分大小寫
2:尾部的空白納入比較
以上數值方以相加
回傳值
Logical
Page url: http://www.racematenet.com/help/index.html?match.htm