利用正则表达式在EXCEL中查找/替换

标签:
excel2010 |
分类: 计算机世界 |
有时需要对EXCEL中的有一定规律,但不相同的字符串进行替换,这时用基本的EXCEL查找/替换功能就无法实现了。比如希望将下图中的序列号(数字.)替换为空字符串,该如何实现呢?
Dim
myRegExp As Object
Dim
Myrange As Range, C As Range
Set
myRegExp = CreateObject("vbscript.regexp")
Set
Myrange = ActiveSheet.Range("A1:A6")
For
Each C In Myrange
myRegExp.Pattern =
"^\d+.\s*"
Set myMatches =
myRegExp.Execute(C.Value)
If myMatches.Count >= 1
Then
Set myMatch = myMatches(0)
C.Value = myRegExp.Replace(C.Value, "")
End If
Next
对于正则表达式的用法,在此不做赘述,可以参见:
这里可以利用VBA通过正则表达式进行查找并替换。代码如下:
Private Sub RegEx_Replace()
End Sub
执行结果:
对于正则表达式的用法,在此不做赘述,可以参见:
- 声明正则式对象;
- 赋值给该对象,包括全局性、大小写模式、正则式内容;
- 执行正则表达式。
- 执行正则表达式时,我们有3种函数可用:Test、Execute、Replace。
正则式对象方法:
- Test:检测目标文本与正则式是否匹配,返回True or False。
- Execute:检测是否匹配,并返回匹配集合,供后续程序调用处理。
- Replace:执行替换操作。在替换时,可以使用$1,$2等捕获变量,与常规的正则表达式意义相同
前一篇:Alpha策略研究之一简介
后一篇:总资产报酬率(ROA)