以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  数据列拆分  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=111038)

--  作者:lxy666
--  发布时间:2017/12/14 10:28:00
--  数据列拆分
老师好,这是显示在第一列的数据:2017-11-30进行中订单号:222017113080215 买方:重庆市第三人民医院订单金额: 920,428.48 元。我想把日期、单号、买方、金额内容分列显示, 最 终显示的结果是:第二列2017-11-30,第三列222017113080215,第四列重庆市第三人民医院,第五列920,428.48。 该如何操作,我是新手,烦请告知操作步骤,谢谢。
[此贴子已经被作者于2017/12/14 10:31:36编辑过]

--  作者:有点甜
--  发布时间:2017/12/14 10:37:00
--  

参考代码

 

Dim str As String = "2017-11-30进行中订单号:222017113080215 买方:重庆市第三人民医院订单金额: 920,428.48 元"
Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "[0-9]{4}-[0-9]+-[0-9]+")
msgbox(mc(0).value)
mc = System.Text.RegularExpressions.Regex.Matches(str, "[0-9]{15,}")
msgbox(mc(0).value)
mc = System.Text.RegularExpressions.Regex.Matches(str, "[0-9,. ]+(?=元)")
msgbox(mc(0).value)


 

参考例子 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=108619&skin=0

 

[此贴子已经被作者于2017/12/14 10:37:17编辑过]

--  作者:lxy666
--  发布时间:2017/12/14 17:47:00
--  
老师好,这些编码在哪儿写呢?
--  作者:有点甜
--  发布时间:2017/12/14 18:02:00
--  

datacolchanged事件

 

If e.DataCol.name = "第一列" Then
    Dim str As String = e.DataRow("第一列")
    Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "[0-9]{4}-[0-9]+-[0-9]+")
    If mc.count > 0 Then
        e.DataRow("第二列") = mc(0).value
    Else
        e.DataRow("第二列") = Nothing
    End If
    mc = System.Text.RegularExpressions.Regex.Matches(str, "[0-9]{15,}")
    If mc.count > 0 Then
        e.DataRow("第三列") = mc(0).value
    Else
        e.DataRow("第三列") = Nothing
    End If
    mc = System.Text.RegularExpressions.Regex.Matches(str, "[0-9,. ]+(?=元)")
    If mc.count > 0 Then
        e.DataRow("第四列") = mc(0).value
    Else
        e.DataRow("第四列") = Nothing
    End If
End If


--  作者:lxy666
--  发布时间:2017/12/14 20:15:00
--  
感谢老师支持
--  作者:lxy666
--  发布时间:2017/12/14 20:16:00
--  
感谢老师支持