作者:绿色风
分类:
时间:2022-08-17
浏览:133
楼主 wise |
Q:如何用正则表达式批量把字符串中的数字两边加上[]号? 如字符:123ass123asas123asdasd123asda59487sd,希望的效果[123]ass[123]asas[123]asdasd[123]asda[59487]sd。 A:ALT+F11→插入模块→在模块中输入以下代码:- Sub tt()
- Dim reg As Object
- Set reg = CreateObject("vbscript.regexp")
- Dim str1 As String
- Dim str2 As String
- With reg
- .Pattern = "(\d+)"
- .Global = 1
- .IgnoreCase = 1
- End With
- str1 = "123ass123asas123asdasd123asda59487sd"
- str2 = reg.Replace(str1, "[$1]")
- MsgBox str2
- End Sub
|
2楼 DJ_Soo |
我将.Pattern = "(d+)"中的括号去掉了,数字全变成[$1]了. 请问: 1.加不加括号为什么会影响[$1],[$1]是什么意思? 2.除了[$1],还有其他特殊的类似表达么? 我看到另外一个帖子里有[$2]:http://www.exceltip.net/thread-8965-1-1.html
可是没起到什么特殊作用,为什么? |
3楼 wise |
就是怎么找到包含一个或多个数字的数值(\d+),并替换为此串的内容[$1],即带有[]的内容。
提供replace方法说明: replace(expr,str),将字符串中匹配expr的部分替换为str。另外在replace方法中,str中可以含有一种变量符号$,格式为$n,代表匹配中被记住的第n的匹配字符串(注意小括号可以记忆匹配)。 |
4楼 bluexuemei |
学习! |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一