数据源aa= "1,2,XX,3"
目标是将XX字符串替换为500
现在采用的方法是
tempArr = split(aa,",")分解成数组.
tempArr(2)=500
再用
ss = join(tempArr,",")
得到的结果为ss = "1,2,500,3"
请问各位大侠还有什么高招.谢谢

解决方案 »

  1.   

    aa= "1,2,XX,3"
    aa=replace(aa,"XX","500")
      

  2.   

    aa= "1,2,XX,3" 
    aa=replace(aa,",XX,",",500,")
      

  3.   

    谢谢,各位大侠参与.
    条件忘说了,XX是变量,XX也可能是1000或1或0.2
    要求是第二逗号与第三个逗号之间的数据进行替换.
    replace 肯定不行,用instr还不如用数组.
      

  4.   

    dim strString as string 
    dim strBeChange as string  '即将被替换字符串 如XX
    dim strAim as string       '目标字符串 如 500aa= "1,2,XX,3" strbechange = "," & "XX" & ","
    strAim="," & cstr(变量) & ","aa=replace(aa,strbechange,strAim)
      

  5.   

    这样不就得了!aa= "1,2,XX,3" 
    aa=replace(aa,split(aa,",")(2),"500")
      

  6.   

    dim strString as string 
    dim strBeChange as string  '即将被替换字符串 如XX 
    dim strAim as string      '目标字符串 如 500 aa= "1,2,XX,3" strbechange = "," & "XX" & "," 
    strAim="," & cstr(变量) & "," aa=replace(aa,strbechange,strAim,instr(aa,","),1) replace 函数还有两个参数,指定开始位置和替换次数。可以实现
      

  7.   

    InStr([start, ]string1, string2[, compare])
    Dim XX As String : XX = split(aa,",")(2)
    aa=replace(aa,XX,"500",InStr(InStr(1, aa, ","), aa, ",")+1,len(XX))
      

  8.   

    呵呵!上面搞错replace最后一个参数了
    ,改为:aa=replace(aa,split(aa,",")(2),"500",InStr(InStr(1, aa, ","), aa, ","),1)
      

  9.   

    分割再连接的方法就很好。当然,也可以:Dim aa As String
    Dim i As Long, p1 As Long, p2 As Long, tmp As Stringaa = "1,2,XX,3"
    p1 = 1
    Do Until i = 2
        p1 = InStr(p1, aa, ",")
        If p1 Then
            i = i + 1
            p1 = p1 + 1
        End If
    Loopp2 = InStr(p1, aa, ",")
    tmp = Trim(Mid(aa, p1, p2 - p1))aa = Replace(aa, tmp, "500")
    Debug.Print aa
      

  10.   

    vb6 怎么处理这个问题?? (VB6没有replace)
      

  11.   

    aa= "1,2,XX,3" 
    aa=replace(aa,split(aa,",")(2),"500")相当标准的答案
      

  12.   

    这个是不行的
    sulipeng007在14楼给出的才行
    使用Replace函数得很小心很小心
      

  13.   

    对呀,开始没考虑到,我想,如果用replace替换,在此情况下就应该用上replace后面两个参数了,指定开始位置和替换次数,这样就限制其他地方的数据被替换了。