以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  二维码分割  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100964)

--  作者:huhu
--  发布时间:2017/5/22 15:39:00
--  二维码分割
DataColChanging:代码
If e.DataCol.Name = "SN" Then
    Dim str As String = e.NewValue.Replace(chr(10), "").Replace(chr(13), "")
    Dim idx1 As Integer = str.IndexOf("MAC:")
    Dim idx2 As Integer = str.IndexOf("H/W:")
    Dim length As Integer
    If str.Contains("SN:") Then
        length  = IIF(idx1 <> -1,idx1-3,IIF(idx2 <> -1,idx2-4,str.Length - 3))
        e.NewValue = str.SubString(3, length)
    Else
        e.NewValue =str
    End If
    If str.Contains("MAC:") Then
        If idx2 = -1 Then
            e.DataRow("MAC") = str.SubString(idx1+4)
        Else
            e.DataRow("MAC") = str.SubString(idx1+4, idx2-idx1-4)
        End If
    End If
    If str.Contains("H/W:") Then
        e.DataRow("HW") = str.substring(idx2+4)
    End If
End If

可是还有某些二维码内容没有SN:,MAC:,H/W:  中间就是一个空格作为分隔符。  如附件。怎么把这种格式也兼容进来?

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


--  作者:有点色
--  发布时间:2017/5/22 16:15:00
--  

中间的是空格?还是tab制表符?

 

参考代码

 

Dim str As String = "1234567810" & chr(9) & "aaaaaabbbbbbcccccccc"
msgbox(str)
Dim ary() As String = str.split(chr(9))
msgbox(ary(0))
msgbox(ary(1))

 

[此贴子已经被作者于2017/5/22 16:14:40编辑过]