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.0、""(空字串)、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
⽽要使⽤:vb 字符串转数组
If IsNull(X) Then
哪⼀种数据会等于 Null 呢?除了含有 Null 运算式之外,就属没有输⼊任何数据的「数据字段」(在数据库中) 会等于Null。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论