以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  字符串的分割  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=191274)

--  作者:newsun2k
--  发布时间:2024/4/8 13:58:00
--  字符串的分割
我有一个字符串,大概是以下内容:

\'-------------------
xxx:
    申请日:{申请日}
    申请号:{申请号}
    期限:{dateadd(申请日,d,15)}
    xxxxxxxx

\'-------------------
我想从这个字符串中分离得到“{dateadd(申请日,d,15)}”,这个里面的“申请日”,d,15,用户都有可能修改的。
什么方法最快?
请指教。

--  作者:有点蓝
--  发布时间:2024/4/8 14:05:00
--  
参考:http://www.foxtable.com/webhelp/topics/0236.htm

Dim s As String = "xxxxxxxxx期限:{dateadd(申请日,d,15)}xxxxxxxxxx"
Dim a As Integer = s.IndexOf("期限:{")
If a > -1 Then
    Dim b As Integer = s.IndexOf("}", a)
    If b > -1 Then
        MsgBox(s.Substring(a + 3, b - a - 2))
    End If 
End If 

--  作者:逛逛
--  发布时间:2024/4/8 14:46:00
--  
可以试试正则,从某某字符串后开始到某某字符串前结束

Dim a As String = "xxx: 申请日:{申请日} 申请号:{申请号} 期限:{dateadd(申请日,d,15)} xxxxxxxx "

Dim expr = String.Format("(?<={0}).*?(?={1})","期限:","xxxx")

Dim mc  = Regex.Matches(a, expr)

msgbox(mc(0).ToString)