VB摘取指定字符

比如
[12132354554geh45hh]5g45s4h4ha
上面[]中括号里面和后面的字符长度都是不规则的
我想获取 [] 之间的字符!

第1个回答  2008-10-22
给你一个我使用已久的函数,我在很多程序都用,基本上你可以应用在任何场合
=================================
Public Function MidEx(lpStr As String, Char1 As String, Char2 As String, Optional ClearChars As Boolean = true, Optional Start As Long = 1) As String
On Error Resume Next
Dim a As Long, b As Long
a = InStr(Start, lpStr, Char1) + Len(Char1)
If a > 1 Then
b = InStr(a, lpStr, Char2)
MidEx = Mid(lpStr, a, b - a)
If Not ClearChars Then
MidEx = Char1 & MidEx
MidEx = MidEx & Char2
Start = a
End If
End If
End Function
=================================
用法:
rtn=midex("[12132354554geh45hh]5g45s4h4ha ","[","]")
第2个回答  2008-10-21
只需要找到 "[" 位置 P1, "]"位置 P2,截取它们之间的字符串 P2-P1-1

dim p1 as integer
dim p2 as integer
dim a as string
a="[12132354554geh45hh]5g45s4h4ha"
p1=instr(a,"[")
p2=instr(a,"]")
print mid(a,p1+1,p2-p1-1)

没测试,不过应该没问题!!
第3个回答  2008-10-22
Dim s As String
s = "[12132354554geh45hh]5g45s4h4ha"
s1 = Split(s, "[")
s1 = Split(s1(1), "]")
Print s1(0)本回答被提问者采纳
相似回答