取中间函数要求:
s="aXbcdXfefgaXf",参数:s1="X",s2="X",结果既可以得到"bcd"也可以得到"fefga"删除中间函数要求:
s="a[bcdfef]g[af]x",参数:s1="[",s2="]",结果是"agx"-------------------------------------------
希望能得到高效算法的函数!

解决方案 »

  1.   

    1. 
    dim arr() as string,i as integer
    arr=split(s,"X")For i = 1 To UBound(arr) - 1
         MsgBox arr(i)
    next i按照你的例子,试验通过
      

  2.   

    第一个问题就不用函数了
    Dim uu() As String
    uu = Split("", "X")
    Msgbox UU(1)
    Msgbox UU(2)第二个问题简单
    Private Function getStrInfo(jj As String) As String
       Dim aa() As String, bb() As String, ReturnStr As String
       aa = Split(jj, "[")
       ReturnStr = aa(0)
       If UBound(aa) >= 1 Then
          For X = 1 To UBound(aa)
             bb = Split(aa(X), "]")
             If UBound(bb) = 1 Then
                ReturnStr = ReturnStr & bb(1)
             End If
          Next X
       End If
       getStrInfo = ReturnStr
    End Function
      

  3.   

    1 如果你的S1=S2,用split分割字串即可,如果不等就用instr mid等处理字符串
      

  4.   

    呵呵,
    用split即可,不必那么麻烦
      

  5.   

    s="aXbcdXfefgaXf",参数:s1="X",s2="X",结果既可以得到"bcd"也可以得到"fefga"删除中间函数要求:
    s="a[bcdfef]g[af]x",参数:s1="[",s2="]",结果是"agx"先replace s1为s2
    然后split(s2)
    索引是偶数的就是删除中间函数
    索引奇数就是取中间函数
      

  6.   

    问题二...我的解法::::Private Sub Command2_Click()
    Dim s As String, s1 As String, s2 As String
    s = "a[bcdfef]g[af]x"
    s1 = "["
    s2 = "]"
    MsgBox DeleteString(s, s1, s2)
    End Sub
    Function DeleteString(sA As String, sA1 As String, sA2 As String) As String
        Dim iif1, iif2 As Integer
        iif1 = InStr(sA, sA1): iif2 = InStr(sA, sA2)
        
        If iif1 < 1 Or iif2 < 1 Then
            'do nothing
        Else
            sA = Mid(sA, 1, iif1 - 1) + Mid(sA, iif2 + 1)
            Call DeleteString(sA, sA1, sA2) '调用
        End If    DeleteString = sA
    End Function
      

  7.   

    哈哈上面是比较有规律的,现在来些麻烦的!
    s="a(b[c:dfef]]g[af:]x",
    1.取值:参数s1="[",s2=":",要求可以取得前面部分结果是"c",也可以取得后面部分是"af";
    2.删除:参数s1="[",s2="]",要求结果"a(b]gx"
    注意:s1,s2参数既可以相等也可以不等
      

  8.   

    怎样写人家都回答你啦,你自己动脑袋吧,不外乎:
    SPlit,Instr,Instrrev,Mid,Replace,Left,Right,Space,Trim,join...没人有义务给你娶媳妇,还包你生儿子。
    come on!
      

  9.   

    VBAdvisor(Sunlight) 说的有道理,已经有这么多答案了,动下脑筋写自己的......