StrCompare

按字母顺序比较两个字符串.

Result := StrCompare(String1, String2 , CaseSense)

参数

String1, String2

类型: 字符串

要比较的字符串.

CaseSense

类型: 字符串整数(布尔值)

如果省略, 则默认为 Off. 否则, 指定下列值之一:

On1(true): 比较区分大小写.

Off0(false): 比较不区分大小写, 即字母 A-Z 被视为与其小写字母相同.

Locale: 根据当前用户的区域设置规则, 比较是不区分大小写的. 例如, 在大多数英语及西欧地区, 不仅将 A-Z 视为等同于它们的小写形式, 同时也将非-ASCII 字母(如 Ä 和 Ü) 视为等同的. 根据被比较字符串的性质, LocaleOff 慢 1 到 8 倍.

Logical: 类似 Locale, 但字符串中的数字被视为数字内容, 而不是文本. 例如, "A2" 被认为小于 "A10". 然而, 如果两个数字仅因前导零的存在而不同, 则前导零的字符串可能被视为 小于 另一个字符串. 确切的行为可能会在不同的操作系统版本中有所不同.

返回值

类型: 整数

指示 String1String2 之间的关系, 该函数返回以下内容之一:

要检查两个字符串之间的特定关系, 请将结果与 0 进行比较. 例如:

a_less_than_b := StrCompare(a, b) < 0
a_greater_than_or_equal_to_b := StrCompare(a, b) >= 0

备注

此函数通常用于 sort 回调.

Sort, VerCompare

示例

展示不区分大小写和区分大小写比较的区别.

MsgBox StrCompare("Abc", "abc") ; 返回 0
MsgBox StrCompare("Abc", "abc", true) ; 返回 -1