求两个正则表达式截取字符串的函数 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