VB操作字符串总结
1.方法介绍: SubStr() 中文化取子字串,相对Mid() Strlen() 中文化字串长度,相对Len() StrLeft() 中文化取左字串,相对Left() StrRight() 中文化取右字串,相对Right() isChinese() 检查某个字是否中文字 2.UniCode转成ByteAry Dim byteAry() As Byte Dim str5 As String Dim i As Long str5 = "这abc" byteAry = str5 For i = LBound(byteAry) To UBound(byteAry) Debug.Print byteAry(i) '得 25 144 97 0 98 0 99 0 Next i Debug.Print Len(str5),LenB(str5) '得4 8 所以了,可看出UniCode 的特性,程式应改一下,使用Strconv()来转换 Dim byteAry() As Byte Dim str5 As String Dim i As Long str5 = "这abc" byteAry = StrConv(str5,vbFromUnicode) For i = LBound(byteAry) To UBound(byteAry) Debug.Print byteAry(i) '得 25 144 97 98 99 Next i Debug.Print LenB(StrConv(str5,vbFromUnicode)) '得5 3.ByteAry转回UniCode 使用Strconv()转换 Dim byteAry(10) as Byte Dim Str5 as String byteAry(0) = 25 byteAry(1) = 144 byteAry(2) = 97 byteAry(3) = 98 byteAry(4) = 99 Str5 = StrConv(byteAry,vbUniCode) 4.""(空字串)、Null、Empty、与 Nothing 的区别 Dim A Dim B As String Dim C As Integer Dim D As Object A 等于 Empty, 因为尚未初始化的「不定型变量」都等于 Empty。但如果检测 A = "" 或 A = 0, 也都可以得到 True 值。 B 等于 "", 因为尚未初始化的非固定长度「字串」都等于 "" 。 但请注意 B<> Null。 C 等于 0, D 等于 Nothing, 尚未设定有物件的「物件变量」都等于 Nothing, 但请不要使用 D = Nothing,而要使用 D Is Nothing 来判断 D 是否等于 Nothing, 因为判断 是否相等的符号是 Is 不是 = 。 最令人迷惑的地方是 Null 这个保留字, 请看以下语句: Print X = Null Print X <> Null 结果都是输出 Null(不是 True 也不是 False), 这是因为任何一个运算式只要含有 Null , 则该运算式就等于 Null, 实际上想要判断某一数据是否为 Null 绝对不能使用: If X = Null Then ' 永远都会得到 Null 而要使用: If IsNull(X) Then 哪一种数据会等于 Null 呢? 除了含有 Null 运算式之外, 就属没有输入任何数据的「数据字段」(在数据库中) 会等于 Null。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|