VB拆分补0问题 重金悬赏在线等

wangxz5200 2017-07-05 04:14:49

如图片中显示的,我现在要将图片中的e8:96:6:1:9b:de变成E89606019B,同时也要注意这种情况,e8:96:a6:21:9b:de这种情况,是不需要补0,麻烦哪位大侠帮我写一下,谢谢,在线等
...全文
85 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangxz5200 2017-07-06
  • 打赏
  • 举报
回复
引用 2 楼 chewinggum 的回复:

Private Sub Command1_Click()
Dim test As String
test = "e8:96:6:1:9b:de"

Dim tmp() As String
Dim i As Integer
Dim output As String
tmp = Split(test, ":")
For i = LBound(tmp) To UBound(tmp)
    If Len(tmp(i)) < 2 Then
        output = output & "0" & UCase(tmp(i))
    Else
        output = output & UCase(tmp(i))
    End If
Next
MsgBox output
End Sub
谢谢,可以了
chuifengde 2017-07-05
  • 打赏
  • 举报
回复
Option Explicit
Dim reg As New RegExp
Private Sub Command1_Click()
Dim strT As String

strT = ":e8:96:6:1:9b:d:"
reg.Global = True
reg.Pattern = ":([a-zA-Z0-9])(?=:)"
MsgBox (Replace(UCase(reg.Replace(strT, ":0$1")), ":", ""))
End Sub
脆皮大雪糕 2017-07-05
  • 打赏
  • 举报
回复

Private Sub Command1_Click()
Dim test As String
test = "e8:96:6:1:9b:de"

Dim tmp() As String
Dim i As Integer
Dim output As String
tmp = Split(test, ":")
For i = LBound(tmp) To UBound(tmp)
    If Len(tmp(i)) < 2 Then
        output = output & "0" & UCase(tmp(i))
    Else
        output = output & UCase(tmp(i))
    End If
Next
MsgBox output
End Sub
zdingyun 2017-07-05
  • 打赏
  • 举报
回复
拆分使用Split函数实现,然后对获得的子字符串遍历,凡长度等于1的前补0,重新赋值给该子字符串。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧