Dim str As String = "5102.001.002 其它业务收入 - 本地资料费 - 万里/部门:002.014 - 经营部_aabbcc工程" 'Dim str As String = "5102.001.002 其它业务收入/部门:002.014 - 经营部_aabbcc工程" Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "(?<=[0-9.]+( )+).+?(?= -|/)|(?<=[0-9.]+( - )+).+?(?=$)") For i As Integer = 0 To mc.count-1 msgbox(mc(i).value) Next