excel - 在字符串中每n个字符后插入单个空格

时间:2016-08-20 03:37:09

标签: excel

使用MS excel - 使用长度为34个字符的0x80808080800180808080808080808080字符串 - 需要转换为类似80 80 80 80 80 01 80 80 80 80 80 80 80 80 80 80的字符串 - 即在开头删除0x在原始字符串中的每两个字符之间添加单个空格。

第一部分是好的 - REPLACE(A1,1,2,"")做到了。

第二部分需要帮助。

更新: -

基于UDF的解决方案below的@Jeeped回答是有效的 - 但需要非UDF解决方案。

1 个答案:

答案 0 :(得分:1)

尝试此用户定义的功能¹。

Option Explicit

Function spaceBigHex(str As String, _
                     Optional delim As String = " ")
    Dim i As Long, var As Variant

    'strip off the 0×
    str = Mid(str, 3)

    'insert spaces from right to left        
    For i = Len(str) - 2 To 2 Step -2
        str = Left(str, i) & delim & Mid(str, i + 1)
    Next i

    spaceBigHex = str
End Function

enter image description here

这也可以通过一系列本机工作表REPLACE函数来完成,这些函数提供字符串的长度是静态的。

=REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
 REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(RIGHT(A3, LEN(A3)-2),
  31, 0, " "), 29, 0, " "), 27, 0, " "), 25, 0, " "), 23, 0, " "),
  21, 0, " "), 19, 0, " "), 17, 0, " "), 15, 0, " "), 13, 0, " "),
  11, 0, " "), 9, 0, " "), 7, 0, " "), 5, 0, " "), 3, 0, " ")

换行只是为了帮助您理解它。离开他们或删除他们;一点都不重要。

enter image description here

¹用户定义函数(又名UDF)被放入标准模块代码表中。点击 Alt + F11 ,当VBE打开时,立即使用下拉菜单插入►模块 Alt + 中号)。将功能代码粘贴到标题为 Book1 - Module1(Code)的新模块代码表中。点击 Alt + Q 返回工作表。