【qqread前言】关于正则表达式的使用,网上很多的资料,而对使用正则表达式来匹配替换一些有规律却不相同的字符串的资料也有不少,但是却很少看到有关于使用MatchEvaluator委托来实现更加复杂的替换操作,本文我们就以一个示例来了解下MatchEvaluator委托。
在字符编辑时,特别是网络数据的采集过程中,我们需要对一些有一定规律但是却不完全相同的数据或者字符进行替换操作,例如一段包含有Html代码的内容,我们可以使用正则表达式来匹配该文本中包含的Html代码,然后使用Replace方法来替换,但是如果我们需要保留"<img "这样的Html代码的话,我们该怎么做呢?
一般情况下,我们是先匹配Html代码的表达式,然后遍历匹配的结果集合MatchCollection,对比每个Match是否是"<img ",如果是则保留,不是则替换为空。如下步骤:
1、首先在类代码的最前面导入正则表达式的命名空间:
Imports System.Text.RegularExpressions
2、处理替换Html代码并保留"<img "代码的自定义函数为:
Public Function myReplace(ByVal Str As String) As String
'设置匹配公式
Dim strPattern As String = "<[^>]*>"
'声明一个不可变的正则表达式
Dim oRegex As New Regex(strPattern, RegexOptions.Multiline)
'声明一个表示返回的单个匹配值
Dim oMatch As Match
'声明一个表示所有匹配值得集合
Dim oMatches As MatchCollection
If oRegex.IsMatch(Str) = True Then
oMatches = oRegex.Matches(Str)
For Each oMatch In oMatches
Dim strTemp As String = oMatch.Value
If Strings.LCase(Strings.Left(strTemp, 4)) <> "<img" Then
Str = Strings.Replace(Str, strTemp, "", , 1)
End If
Next
End If
Return Str
End Function
文章地址: http://www.qqread.com/book/myvbnet/my0049.html相关专题
- .NET移动与嵌入式技术 (5963篇文章)
- .NET开发手册 (5664篇文章)
- 用vb.net实现闹钟提醒程序 (9次浏览)
- vb.net GDI+入门——画笔、画刷和颜色 (3次浏览)
- VB.Net实现进程监视器的方法 (1次浏览)
- VB2005中开发新一代控制台应用程序(3) (0次浏览)
- vb.net使用ListView 控件显示系统驱动器 (0次浏览)
- vb.net入门——ListView 控件的使用 (0次浏览)
- vb.net GDI+入门——使用Graphics对象填充图形 (0次浏览)
- .Net中ListView控件多选时复选框自动选择问题 (0次浏览)
- vb.net GDI+入门——使用Graphics对象绘制线图 (0次浏览)
- vb.net GDI+入门——了解Font类 (0次浏览)



