首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

求两个正则表达式截取字符串的函数 VB.NET的,该如何处理

2012-03-28 
求两个正则表达式截取字符串的函数 VB.NET的函数一:function(A,B,C,D)ABC类型string,D为布朗值函数返回从A

求两个正则表达式截取字符串的函数 VB.NET的
函数一:
function(A,B,C,D)
ABC类型string,D为布朗值
函数返回从A中截取B和C之间的值,D决定返回值是否包含BC字符串。
函数二:
function(A,B,C)
函数将A中包含的B字符串替换成C,C为空时就是将A中的B字符串清除掉。

要VB.NET的代码,正则表达式,不要数组和替换那种,处理HTML那种没用



[解决办法]

VB.NET code
    Function First(ByVal A As String, ByVal B As String, ByVal C As String, ByVal D As Boolean) As String        Dim rgx As Regex = New Regex("(?is)(?<=" & B & ").*?(?=" & C & ")")        If D Then            Return B & rgx.Match(A).Value & C        Else            Return rgx.Match(A).Value        End If    End Function    Function Second(ByVal A As String, ByVal B As String, ByVal C As String) As String        If String.IsNullOrEmpty(C) Then            Return A.Replace(B, "")        Else            Return A.Replace(B, C)        End If    End Function
[解决办法]
VB.NET code
Function First(ByVal A As String, ByVal B As String, ByVal C As String, ByVal D As Boolean) As String       Dim rgx As Regex = New Regex("(?is)"+Regex.Escape(B & "(.*?)" & C))        If D Then            Return  rgx.Match(A).Value        Else            Return rgx.Match(A).Groups[1].Value        End If    End Function    Function Second(ByVal A As String, ByVal B As String, ByVal C As String) As String        Return A.Replace(B, C)    End Function 

热点排行