asp 替换一个字符串中第N次出现的某一个字符

来源:百度知道 编辑:UC知道 时间:2024/06/01 01:07:18
例如:字符串A: aaa@bbb@sbs@ddjidi@sbs@ddjidi@sbs@ddjidi@

现在我想在第3(可以是N)次出现@处再添加一个@变成
aaa@bbb@sbs@@ddjidi@

VB要怎么做?
是变成aaa@bbb@sbs@@ddjidi@sbs@ddjidi@sbs@ddjidi@

str="aaa@bbb@sbs@ddjidi@sbs@ddjidi@sbs@ddjidi@"
msgbox "原字符:" & str & vbcrlf & "替换后:" & myre(3)
function myre(n)
if n<=0 then myre=str:exit function
for i=1 to n-1
l=instr(str,"@")
strq=strq & left(str,l)
str=mid(str,l+1)
next
myre=strq & replace(str,"@","@@",1,1)
end function

a = "aaa@bbb@sbs@ddjidi@sbs@ddjidi@sbs@ddjidi@"
b = Split(a, "@")
If UBound(b) > 2 Then b(2) = b(2) & "@"
a = Join(b, "@")

或是这样也行:
a = "aaa@bbb@sbs@ddjidi@sbs@ddjidi@sbs@ddjidi@"
a = Replace(Replace(a, "@", "@@", , 3), "@@", "@", , 2)