可以使用InStr功能查找第二個分隔符(「XADDR」在這種情況下)開始,並Mid函數提取你想要的部分:
Sub InstrDemo()
Dim s, delim1, delim2 As String
s = "ADDRjohnDOTdoeATfooDOTcomXADDRA646A10.FOO"
delim1 = "ADDR"
delim2 = "XADDR"
Dim pos As Integer
pos = InStr(s, delim2)
Dim part1, part2 As String
part1 = Mid(s, Len(delim1) + 1, pos - Len(delim1) - 1)
part2 = Mid(s, pos + Len(delim2))
MsgBox (part1 & vbCrLf & part2)
End Sub
輸出:
(我用的Excel 2013,因爲它是在當時更容易。)
這是更好地把分隔符作爲這樣的字符串,因爲它避免了使用"magic numbers"。
或者你可以使用Split功能:
Sub SplitDemo()
Dim s, delim1, delim2 As String
s = "ADDRjohnDOTdoeATfooDOTcomXADDRA646A10.FOO"
delim1 = "ADDR"
delim2 = "XADDR"
s = Mid(s, Len(delim1) + 1)
Dim parts() As String
parts = Split(s, delim2)
' optional: check that the correct number of parts were found...
If UBound(parts) <> 1 Then
MsgBox ("Wrong number of parts.")
End If
MsgBox (parts(0) & vbCrLf & parts(1))
End Sub
這給輸出與前法相同。
謝謝!一個微笑,在電子郵件地址字符串的末尾留下一個X. –
@DigitalLightcraft哎呀!我沒有擺弄它。 –
非常好,謝謝,它很好地工作,並且還請求第二個選項:-D –