excel – 在string中每n个字符之后插入一个空格

使用MS excel – 像string0x80808080800180808080808080808080的34个字符长度 – 需要转换为像80 80 80 80 80 01 80 80 80 80 80 80 80 80 80 80这样的string,即在开始时剥离0x在原始string的每两个字符之间添加一个空格。

第一部分是好的 – REPLACE(A1,1,2,"")是这样做的。

需要第二部分的帮助。

更新: –

@Jeeped的答案与基于UDF的解决scheme下面的工作 – 但是需要一个非UDF的解决scheme。

试试这个用户自定义function1。

 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 

在这里输入图像说明

这也可以通过一系列本地工作表REPLACE函数来实现,提供string的长度是静态的。

 =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, " ") 

行饲料只是为了帮助你理解它。 离开他们或删除他们; 一言不发。

在这里输入图像说明


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