作者:绿色风
分类:
时间:2022-08-17
浏览:140
楼主 wise |
Q:正则表达式如何去掉两个连续相同的字符? A:使用"(.)\1"可以达到去掉两个相同的字符的效果。- Sub YY()
- Dim reg As Object
- Dim str As String
- str = "112233aabbb"
- Set reg = CreateObject("VBscript.regexp")
- reg.Global = True
- reg.Pattern = "(.)\1" '去掉两个连续相同的字符
- str = reg.Replace(str, "")
- Set reg = Nothing
- MsgBox str
- End Sub
|
2楼 开心萝卜 |
呵呵,下载使用。谢谢分享 |
3楼 xyh9999 |
'补充:将连续重复的字符只保留一个 Function del_cfzf(cSS) '将连续重复的字符只保留一个 Dim RegEx As Object Set RegEx = CreateObject("VBscript.RegExp") With RegEx .MultiLine = False .Global = True .IgnoreCase = True .Pattern = "(.)(\1)+" End With del_cfzf = Trim(RegEx.Replace(cSS, "$1")) Set RegEx = Nothing End Function |
4楼 xyh9999 |
版主的这个是去掉2个连续相同的字符,如果要去掉多个连续相同的字符用: reg.Pattern = "(.)\1" 改成 reg.Pattern = "(.)\1+" 可用字符串"a111b222ccc"测试一下修改前后的差别 |
5楼 wise |
+代表一个或多个,的确那样 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一