以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  第一次用字符串截取,求指导[已解决]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84479)

--  作者:bagih
--  发布时间:2016/5/3 14:53:00
--  第一次用字符串截取,求指导[已解决]
“结果表”中有“结果”列,内容格式如下:

 [C102_不良两项] 。RJ,C102不良,拒绝有效期至2016/7/27,当前审批处理时间2016/4/28 14:49:04;
如果包括“RJ”这个词,就截取红色的部分。该怎么弄,求个思路,谢谢各位老师。
[此贴子已经被作者于2016/5/3 20:16:45编辑过]

--  作者:大红袍
--  发布时间:2016/5/3 15:19:00
--  

 这个意思?

 

Dim str As String = "RJ,C102不良,拒绝有效期至2016/7/27,当前审批处理时间2016/4/28 14:49:04;"

Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "RJ.*不良")
msgbox(mc.count)
If mc.count > 0 Then
    msgbox(mc(0).value)
End If

 


--  作者:bagih
--  发布时间:2016/5/3 15:30:00
--  
 [C102_不良两项] 。RJ,C102不良,拒绝有效期至2016/7/27,当前审批处理时间2016/4/28 14:49:04;

是“结果”列中一个字段的内容,这列有很多不同规格的内容,格式不固定,我查询包含 "RJ"的行,提取  “]。”  和  “,当前审核” 中间的字符内容。

图片点击可在新窗口打开查看这样说红袍老师能清楚一丢吗
[此贴子已经被作者于2016/5/3 15:30:41编辑过]

--  作者:大红袍
--  发布时间:2016/5/3 15:39:00
--  

\'\'\'
For Each r As Row In Tables("表B").rows
    Dim str As String = r("第一列")
    If str.Contains("RJ") Then
        Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "(?<=]).*(?=当前审)")
        msgbox(mc.count)
        If mc.count > 0 Then
            msgbox(mc(0).value)
        End If
    End If
Next


--  作者:bagih
--  发布时间:2016/5/3 16:27:00
--  
谢谢红袍老师,我试试