正则表达式处理下面字符串================================
aaa@bbb#ccc
111@22222bbb222222#ccc
fdsaj@fdlsakbbdas#fdlsakjlfda
000000@fff
fdsbbdsafdsa
fdsafdsafdas#fdsafdsa
===============================
我想要的结果是@和#之间的b替换为C
这个正则不会写了,如果两个之间的这个替换B就好处理的
我要的是两个符号之间的再次处理,比如
aaa@bfds#ddd
123@fdasfdasbb
dsafdsa#
的结果为
aaa@Cfds#ddd
123@fdasfdasCC
dsafdsa#急

解决方案 »

  1.   

    1个 表达式我只能完成1次替换操作 假如要多次替换可用如下代码可以实现
    Private Function btoC(str1 As String)
        Dim str2 As String, strtemp As String, strmid As String, sremidtemp As String
        Dim Intstr1 As Long, Intstr2 As Long
        str2 = str1
        Intstr1 = InStr(1, str2, "@")
        Intstr2 = InStr(Intstr1 + 1, str2, "#")
        Do While Intstr1 > 1 And Intstr2 > 1
            strmid = Mid(str2, Intstr1, Intstr2 - Intstr1 + 1)
            strmidtemp = Replace(strmid, "b", "C")
            str2 = Left(str2, Intstr1 - 1) & strmidtemp & Right(str2, Len(str2) - Intstr2)
            Intstr1 = InStr(Intstr2 + 1, str2, "@")
            Intstr2 = InStr(Intstr1 + 1, str2, "#")
        Loop
        btoC = str2
    End FunctionPrivate Sub Form_Click()
        Print btoC("b12@ddbffb#dbb@sdfdbb#sdb")
    End Sub