当前位置:编程学习 > VB >>

求职正则表达!提取括号中的内容~~~~~~~

如题:
1(  10007    12) 23 122 389   388
就是要替换括号中的空格,而不影响外部的空格,最后变为
1(10007:12) 23 122 389   388
我的想法是先剔除(后的空格,变为
1(10007    12) 23 122 389   388
然后再替换括号中的空格变为
1(10007:12) 23 122 389   388
现在第一步已经实现,最后一步无法实现,求高手赐教!

ps:我用的是vb环境 --------------------编程问答-------------------- Private Sub Command1_Click()
    Dim s0 As String
    s0 = "1( 10007 12) 23 122 389 388"
    
    Dim s1 As String
    Dim P1 As Long, P2 As Long
    
    P1 = InStr(1, s0, "(")
    P2 = InStrRev(s0, ")")
    
    s1 = Mid(s0, P1 + 1, P2 - P1 - 1)
    s1 = Replace(s1, " ", ":")
    
    Mid(s0, P1 + 1, P2 - P1 - 1) = s1
    
    Debug.Print s0
End Sub
--------------------编程问答-------------------- 晕,发两个相同的贴子 -_-!!!
--------------------编程问答--------------------
Private Sub Form_Load()
    Dim s$, s2$
    s = "1( 10007 12) 23 122 389 388"
    With CreateObject("vbscript.regExp")
        .Pattern = "\((.*?)\)"
        s2 = .Execute(s)(0).SubMatches(0) '括号中的内容
    End With
    s = Replace(s, s2, Replace(Trim(s2), " ", ":"))
    MsgBox s
End Sub
建议还是用普通字符串处理方法 --------------------编程问答-------------------- 楼上号称:正则哥,正则问他没有错
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,