如何将字符串成对拆分

时间:2019-02-12 19:27:30

标签: excel vba string split

我想将以下字符串成对分割。使用当前代码,我只能将字符串分割为单个字符。

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

该怎么做?

2 个答案:

答案 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