VB6格式化字符串问题

时间:2011-08-09 08:13:23

标签: vb6 formatting string-formatting

我的问题很简单..
如何将"445B986D2DD3B41852964ABA11408E82"之类的字符串转换为445B9-86D2D-D3B41-85296-4ABA1-1408E82
它的格式应为'#####-#####-#####-#####-#####-############(最后一件事无关紧要)

4 个答案:

答案 0 :(得分:4)

以下是使用MOD

的方法
Dim OldStr As String
OldStr = "445B986D2DD3B41852964ABA11408E82"
Dim NewStr As String
For i = 1 To Len(OldStr)
    NewStr = NewStr & Mid(OldStr, i, 1)
    If i Mod 5 = 0 Then
        NewStr = NewStr & "-"
    End If
Next

并使用STEP

For i = 1 To Len(st) Step 5
    ss = ss & Mid(st, i, 5) & "-"
Next

答案 1 :(得分:2)

为什么不添加破折号:

s = Left(s, 5) + "-" + Mid(s, 6, 5) + "-" + Mid(s, 11, 5) + "-" + Mid(s, 16, 5) _  
               + "-" + Mid(s, 21, 5) + "-" + Right(s, Len(s) - 25)

答案 2 :(得分:0)

您可以使用Mid(),Left(),Right()函数和连接运算符(&)。 E.g:

dim str
str = "12345678"
str = Left(str, 2) &"-"& Mid(str, 2, 2) & "-"& Mid(str, 4, 2) & "-"&Right(str, 2)
MsgBox str ' the output will be 12-34-56-78

答案 3 :(得分:0)

你可以使用带有掩码的maskedinput文本框,但是最大长度为64,或者我可以发送一个由我制作的超级文本框并进行了很多改进