以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  提取中间字符串代码怎么写  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=127160)

--  作者:hnsds123
--  发布时间:2018/11/7 10:49:00
--  提取中间字符串代码怎么写
拟提取第一列中“发放账号:”字符后面的帐号,代码如下:
If e.DataCol.Name = "第一列"
    If e.NewValue = Nothing Then
        e.DataRow("第二列") = Nothing
    Else
        Dim chrs() As Char = {"发放帐号:",  "," ,"不匹配"}
        Dim ary() As String = e.NewValue.split(chrs)
        e.DataRow("第二列") = ary(1)
    End If
End If
显示效果不是纯帐号,求助改进代码。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:提取中间字符串.table


--  作者:有点甜
--  发布时间:2018/11/7 10:58:00
--  

代码改成

 

If e.DataCol.Name = "第一列"
    If e.NewValue = Nothing Then
        e.DataRow("第二列") = Nothing
    Else
        Dim str = e.NewValue
        Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "(?<=发放帐号.{1})[0-9]+")
        If mc.count > 0 Then
            e.DataRow("第二列") = mc(0).value
        Else
            e.DataRow("第二列") = Nothing
           
        End If
    End If
End If


--  作者:hnsds123
--  发布时间:2018/11/7 11:15:00
--  
版主厉害,完美解决,非常感谢。就是版主所运用的公式看不懂,可否推介类似的说明章节或视频,想学个明白。
--  作者:有点甜
--  发布时间:2018/11/7 11:39:00
--  

参考

 

http://www.runoob.com/regexp/regexp-syntax.html