|
快要两年的帖子,楼主还回来总结,看来它对你有些重要啊。
那我就把用VBA正则处理的方法也列出一下吧。不需要对照表,依据的就是字符本身的特征规律。
- '无需对照表,直接用正则表达式:排除需要转义的字母和数字,提取剩余的汉字、字母和数值(含正负的整数、小数、百分数)
- Sub 正则替换()
- Dim reg As Object, ar, r&, i&, tmp$, ma As Object
- Set reg = CreateObject("VBScript.RegExp")
- reg.Global = True
- reg.Pattern = "&(?:[a-z]+|#\d+);|((?:-?\d*\.?\d+%?|[一-龥a-zA-Z])+)|[\d\D]"
- ar = Sheets("VBA解法").UsedRange.Resize(, 1) '获取指定表格的第一列数据。
- r = UBound(ar)
- For i = 2 To r
- ar(i, 1) = RTrim(Replace(reg.Replace(ar(i, 1), "$1 "), " ", "&@"))
- Next
- ar(1, 1) = "正则替换后" '修改标题
- Range("C1").Resize(r) = ar '把处理的结果填入C列
- End Sub
复制代码 |
评分
-
1
查看全部评分
-
|