利用正则表达式在EXCEL中查找/替换
有时需要对EXCEL中的有一定规律,但不相同的字符串进行替换,这时用基本的EXCEL查找/替换功能就无法实现了。比如希望将下图中的序列号(数字.)替换为空字符串,该如何实现呢?
ALT+F11 打开VB窗口模式
Private Sub RegExp_Replace()
Dim RegExp As Object
Dim SearchRange As Range, Cell As Range
'此处定义正则表达式
Set RegExp = CreateObject("vbscript.regexp")
RegExp.Pattern = ",[\u4e00-\u9fa5]{5}TO[0-9]{18}"
'此处指定查找范围
Set SearchRange = ActiveSheet.Range("A1:A99")
'遍历查找范围内的单元格
For Each Cell In SearchRange
Set Matches = RegExp.Execute(Cell.Value)
If Matches.Count >= 1 Then
Set Match = Matches(0)
Cell.Value = RegExp.Replace(Cell.Value, "")
End If
Next
End Sub
您的一次评论就是对本站点的小小支持.
文章评论(1)
这条正则匹配特殊字符串 RegExp.Pattern = "\s[A-Za-z0-9]{0,16}[-|?|@|=|(|)|$|#|/|.|~|!|+|_][A-Za-z0-9]{0,16}"