两个字符串处理函数(类似Left/Mid/Right/Split的结合)
作者:JiaJia 日期:2007-10-19
1、ParameterValue()
2、ParameterCount()
用法示例:
Dim StrTest as String
StrTest="欢迎;光临;JiaJia;Blog;VB源码"
Debug.Print ParameterCount(";",StrTest)
'返回 5
Debug.Print ParameterValue(";",StrTest,3)
'返回 "JiaJia"
------------------------------------------------------------------
程序代码
Public Function ParameterCount(ParseCharacter As String, _
tString As Variant) As Integer
Dim CurrentPosition As Integer
Dim ParseToPosition As Integer
Dim CurrentToken As Integer
Dim TempString As String
TempString = Trim(tString) + ParseCharacter
If Len(TempString) = 1 Then Exit Function
CurrentPosition = 1
CurrentToken = 1
Do
ParseToPosition = InStr(CurrentPosition, TempString, _
ParseCharacter)
CurrentToken = CurrentToken + 1
CurrentPosition = ParseToPosition + 1
Loop Until (CurrentPosition >= Len(TempString))
ParameterCount = CurrentToken - 1
End Function
Public Function ParameterValue(ParseCharacter As String, _
tString As Variant, _
Index As Integer) As String
Dim CurrentPosition As Integer
Dim ParseToPosition As Integer
Dim CurrentToken As Integer
Dim TempString As String
TempString = Trim(tString) + ParseCharacter
If Len(TempString) = 1 Then Exit Function
CurrentPosition = 1
CurrentToken = 1
Do
ParseToPosition = InStr(CurrentPosition, TempString, _
ParseCharacter)
If Index = CurrentToken Then
ParameterValue = Mid$(TempString, CurrentPosition, _
ParseToPosition - CurrentPosition)
Exit Function
End If
CurrentToken = CurrentToken + 1
CurrentPosition = ParseToPosition + 1
Loop Until (CurrentPosition >= Len(TempString))
End Function
2、ParameterCount()
用法示例:
Dim StrTest as String
StrTest="欢迎;光临;JiaJia;Blog;VB源码"
Debug.Print ParameterCount(";",StrTest)
'返回 5
Debug.Print ParameterValue(";",StrTest,3)
'返回 "JiaJia"
------------------------------------------------------------------

Public Function ParameterCount(ParseCharacter As String, _
tString As Variant) As Integer
Dim CurrentPosition As Integer
Dim ParseToPosition As Integer
Dim CurrentToken As Integer
Dim TempString As String
TempString = Trim(tString) + ParseCharacter
If Len(TempString) = 1 Then Exit Function
CurrentPosition = 1
CurrentToken = 1
Do
ParseToPosition = InStr(CurrentPosition, TempString, _
ParseCharacter)
CurrentToken = CurrentToken + 1
CurrentPosition = ParseToPosition + 1
Loop Until (CurrentPosition >= Len(TempString))
ParameterCount = CurrentToken - 1
End Function
Public Function ParameterValue(ParseCharacter As String, _
tString As Variant, _
Index As Integer) As String
Dim CurrentPosition As Integer
Dim ParseToPosition As Integer
Dim CurrentToken As Integer
Dim TempString As String
TempString = Trim(tString) + ParseCharacter
If Len(TempString) = 1 Then Exit Function
CurrentPosition = 1
CurrentToken = 1
Do
ParseToPosition = InStr(CurrentPosition, TempString, _
ParseCharacter)
If Index = CurrentToken Then
ParameterValue = Mid$(TempString, CurrentPosition, _
ParseToPosition - CurrentPosition)
Exit Function
End If
CurrentToken = CurrentToken + 1
CurrentPosition = ParseToPosition + 1
Loop Until (CurrentPosition >= Len(TempString))
End Function
评论: 0 | 引用: 0 | 查看次数: -
发表评论