群里有人问了下,如何获取第若干个分隔符后的字符串。随手写了一段代码,供有需要的人使用。
没有太复杂的东西,新手可以拿来练习下for语句的用法。
另外,也可以用split来处理,不过考虑到split处理后,还要将剩下的数组元素重新join成一个字符串,感觉也挺麻烦的。
详细函数源码
'调用说明:
'call getText(strInput ,strSperator , lngNum)
'参数说明:
'strInput————————————————————输入字符串
'strSperator——————————————————分隔符
'lngNum—————————————————————第几个分隔符
'例如:
'getText("123456-123456-123-789-456", "-", 3)
'返回第三个分隔符(-)位置之后的字符串:789-456
Function getText(ByVal strInput As String, ByVal strSperator As String, ByVal lngNum As Long) As String
Dim i As Long
Dim k As Long
Dim j As Long
For i = 1 To Len(strInput)
If Mid(strInput, i, 1) = strSperator Then
k = k + 1
If k = lngNum Then
j = i
Exit For
End If
End If
Next
If j > 0 Then
getText = Mid(strInput, j + 1)
Else
MsgBox "没有符合要求的字符串"
getText = ""
End If
End Function