vb里如何比较不同的字符串

2025-02-15 19:32:03
推荐回答(2个)
回答1:

字符串比较是从第一个字符开始比较,并且比较的是ASCII码,你比较一下"A" 和"b"谁大谁小,"A" 小于"b",这样后面的就不比较了.也就是"ABCD" 小于 "bumingbai" .
如果第一个字符相同,就比较第二个,依此类推.
////////////////////////////////////////////////
/////StrComp 函数

返回 Variant (Integer),为字符串比较的结果。

语法

StrComp(string1, string2[, compare])

StrComp 函数的语法有下面的命名参数:

部分 说明
string1 必要参数。任何有效的字符串表达式。
string2 必要参数。任何有效的字符串表达式。
Compare 可选参数。指定字符串比较的类型。如果 compare 参数是 Null,将发生错误。如果省略 compare,Option Compare 的设置将决定比较的类型。

设置

compare 参数设置为:

常数 值 描述
vbUseCompareOption -1 使用Option Compare语句设置执行一个比较。
vbBinaryCompare 0 执行一个二进制比较。
vbTextCompare 1 执行一个按照原文的比较。
vbDatabaseCompare 2 仅适用于Microsoft Access,执行一个基于数据库信息的比较。

返回值

StrComp 函数有下列返回值:

如果 StrComp 返回
string1 小于 string2 -1
string1 等于 string2 0
string1 大于 string2 1
string1 或 string 2为 Null Null

回答2:

很好学,加油。

二进程比较:
根据从字符的内部二进制表示形式导出的排序顺序执行二进制比较。
通常意义上的字典顺序,区分大小写。
A < B < E < Z < a < b < e < z

文本比较:
根据系统的 LocaleID 值所确定的不区分大小写的文本排序顺序执行文本比较。
相当于全部转成大写(或小写)比较。
(A=a) < (B=b) < (E=e) < (Z=z)

所以应该返回 -1。
(没有在VB环境下测试)
即使:
MyStr1 = "abcd": MyStr2 = "BUMINBAI"
这个时候
MyComp = StrComp(MyStr1, MyStr2, 1) 返回还是-1