vb中利用replace替换,如果一行中有多个相同的数,但是不想全部替换怎么办?
如txt文本中第一行是i am a boy 100 20 100 30
想把第一个100替换为50 把第二个100替换为60
理想结果为i am a boy 50 20 60 30
该咋办,用了replace函数,但是一下就把两个100都替换为相同得数了,请各位大侠支招,谢谢:)
vb中利用replace替换,如果一行中有多个相同的数,但是不想全部替换怎么办?
答案:3 悬赏:70 手机版
解决时间 2021-01-31 10:10
- 提问者网友:临风不自傲
- 2021-01-30 18:57
最佳答案
- 五星知识达人网友:未来江山和你
- 2021-01-30 19:58
Replace函数的第五参数表示替换次数(第四参数指替换开始处).
Private Sub Form_Load()
Dim sTemp As String
sTemp = "i am a boy 100 20 100 30"
sTemp = Replace(sTemp, "100", "50", , 1)
sTemp = Replace(sTemp, "100", "60", , 1)
MsgBox sTemp
End Sub
Private Sub Form_Load()
Dim sTemp As String
sTemp = "i am a boy 100 20 100 30"
sTemp = Replace(sTemp, "100", "50", , 1)
sTemp = Replace(sTemp, "100", "60", , 1)
MsgBox sTemp
End Sub
全部回答
- 1楼网友:时间的尘埃
- 2021-01-30 21:44
Str1 = "i am a boy 100 20 100 30"
strx = "100"
dim stry(2)
stry(0) = 50
stry(1) = 60
for i=1 to ubound(stry)
str1 = replace(Left(Str1, instr(Str1,strx)+len(strx)),strx,stry(i-1)) & right( Str1, len(Str1)-instr(Str1,strx)-len(strx))
next
wscript.echo str1
- 2楼网友:醉吻情书
- 2021-01-30 21:25
举例:
s = "ffffffffffff"
s2 = replace(s, "hh", "a")
if s2 = s then msgbox "没有替换"
if s2 <> s then msgbox "有替换"
s = "ffffffffffff"
s2 = replace(s, "f", "a")
if s2 = s then msgbox "没有替换"
if s2 <> s then msgbox "有替换"
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯