替换字符串????????????

law1980547304 2011-07-01 03:21:42
button前面的字符串长度和字符不定例如,button后紧挨着的字符串为5个阿利伯数字,例如
lksf78932button78959dkopoek
b78932diiwlbutton66959ooppppe
aa78932diiwlbutton54959lockue
。。。。。。。。。。。。
。。。。。。。。
替换button后紧挨着的五个数字为33333,执行结果为
lksf78932button33333dkopoek
b78932diiwlbutton33333ooppppe
aa78932diiwlbutton33333kockue
。。。。。。。。。。。。
。。。。。。。。
如何做呢????
...全文
184 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
无·法 2011-07-01
  • 打赏
  • 举报
回复
幸亏截个图,不然楼主估计都看不懂。。。。
无·法 2011-07-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 z_wenqian 的回复:]

再一种方法:
s = "lksf78932button78959dkopoek"
Mid(s, InStr(1, s, "button"), 11) = "button33333"
Debug.Print s
[/Quote]你上面的两种方法正好对应着我的1楼和2楼的正则表达式。
z_wenqian 2011-07-01
  • 打赏
  • 举报
回复
再一种方法:
s = "lksf78932button78959dkopoek"
Mid(s, InStr(1, s, "button"), 11) = "button33333"
Debug.Print s
无·法 2011-07-01
  • 打赏
  • 举报
回复
如果就处理一句话的话正则也可以简单点的。
With CreateObject("vbscript.regExp")
.Pattern = "button\d+"
MsgBox .Replace("lksf78932button78959dkopoek", "button33333")
End With
booksoon 2011-07-01
  • 打赏
  • 举报
回复
1#,4#两种方法都很好~~~~
z_wenqian 2011-07-01
  • 打赏
  • 举报
回复
一个例子:

s = "lksf78932button78959dkopoek"
t = Split(s, "button")
Debug.Print t(0) & "button33333" & Right(t(1), Len(t(1)) - 5)
jhone99 2011-07-01
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim strTemp As String

strTemp = "lksf78932button78959dkopoek"
MsgBox Mid(strTemp, 1, InStr(1, strTemp, "button") + 5) & "33333" & Mid(strTemp, InStr(1, strTemp, "button") + 11)
End Sub
无·法 2011-07-01
  • 打赏
  • 举报
回复
方法二:
'此代码由“正则测试工具 v1.1.34”自动生成,请直接调用TestReg过程
Private Sub TestReg()
Dim strData As String
Dim reg As Object

strData = "lksf78932button78959dkopoek" & vbCrLf & _
"b78932diiwlbutton66959ooppppe" & vbCrLf & _
"aa78932diiwlbutton54959lockue"

Set reg = CreateObject("vbscript.regExp")
reg.Global = True
reg.IgnoreCase = True
reg.MultiLine = True
reg.Pattern = "button\d+"
Debug.Print reg.Replace(strData, "button33333")
End Sub


无·法 2011-07-01
  • 打赏
  • 举报
回复
'此代码由“正则测试工具 v1.1.34”自动生成,请直接调用TestReg过程
Private Sub TestReg()
Dim strData As String
Dim reg As Object

strData = "lksf78932button78959dkopoek" & vbCrLf & _
"b78932diiwlbutton66959ooppppe" & vbCrLf & _
"aa78932diiwlbutton54959lockue"

Set reg = CreateObject("vbscript.regExp")
reg.Global = True
reg.IgnoreCase = True
reg.MultiLine = True
reg.Pattern = "(.+?button)(\d+)(.+?)"
Debug.Print reg.Replace(strData, "$133333$3")
End Sub

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧