|
楼主 |
发表于 2018-8-18 11:11
|
显示全部楼层
本帖最后由 ggmmlol 于 2018-8-18 12:02 编辑
声明:本楼层的内容 属于 讨论部分
楼上两位的热情参与讨论,虽然有点打乱了我的正贴部分的节奏,但是本主题的主要概念和正文内容,都已经贴出来了,剩下未贴出的也只是实例演示,所以对于两位提前进入讨论环节,也还是欢迎之至。
我尝试 用24楼给出 的自定义的 通用型 正则替换 函数,做出fsq119网友想要的结果(在本讨论楼层中,请允许我使用了Excel VBA的evaluate函数,对 正则替换的直接结果 进行了二次加工)。
- '使用正则替换方法编写的通用型自定义函数
- Public Function REGREPLACE(ByVal text1$, ByVal pttn$, Optional ByVal strReplacer$ = " ")
- With CreateObject("vbscript.regexp")
- .Global = True
- .Pattern = pttn
- REGREPLACE = .Replace(text1, strReplacer)
- End With
- End Function
复制代码
'答fsq119网友18楼讨论提问:
'字串"qwe100eh1eee2e345exxe678ee999eexc",要求数字之间所夹的单个或连续的“e”的每一个“e”(红字部分,是按照 fsq119在22楼中做出的补充说明:“每一个e也都做替换”),
'用数字2替换,想得到结果"qwe100eh122222345exxe67822999eexc"。
Sub test0()
s = "qwe100eh1eee2e345exxe678ee999eexc"
MsgBox Evaluate("""" & REGREPLACE(s, "(\d)(e+)(?=\d)", "$1"" & rept(2,len(""$2"")) & """) & """")
End Sub
|
评分
-
1
查看全部评分
-
|