我想将以下字符串成对分割。使用当前代码,我只能将字符串分割为单个字符。
Sub SplitinPair()
Dim str
str = "5C61AA79"
str = StrConv(str, vbUnicode)
str = Left(str, Len(str) - 1)
Debug.Print str
End Sub
当前输出为
5 C 6 1 A A 7 9
和我想要的期望输出是这样的:
5C 61 AA 79
该怎么做?
答案 0 :(得分:1)
一个选项是一个简单的循环:
Private Sub SplitinPair()
Dim str As String
Dim str2 As String
Dim i As Integer
str = "5C61AA79"
For i = 1 To Len(str) Step 2
str2 = str2 & Mid(str, i, 2) & " "
Next
Debug.Print str2
End Sub
答案 1 :(得分:1)
此方法假定偶数个字符,十六进制对就是这种情况。如果您可能会遇到奇数字符集,请添加一些错误控制。
Option Explicit
Sub SplitinPair()
Dim str, tmp As Variant, i As Long
str = "5C61AA79"
str = StrConv(str, vbUnicode)
tmp = Split(Left(str, Len(str) - 1), Chr(0))
str = vbNullString
For i = LBound(tmp) To UBound(tmp) Step 2
str = str & tmp(i) & tmp(i + 1) & Space(1)
Next i
str = Trim(str)
Debug.Print str
End Sub