Mid, Mid$, MidB, MidB$ Functions |
Yes
Mid(string, start[, length])
string
Use: Required
Data Type: String
The expression from which to return a substring.
start
Use: Required
Data Type: Long
The starting position of the substring.
length
Use: Optional
Data Type: Variant (Long)
The length of the substring.
A Variant of subtype String or a String data type.
Returns a substring of a specified length from within a given string.
If string contains a Null, Mid returns Null.
If start is more than the length of string, a zero-length string is returned.
If start is less than zero, runtime error 5, "Invalid procedure call or argument," is generated.
If length is omitted, or length is greater than the length of string, all characters from start to the end of string are returned.
The MidB version of the Mid function is used with byte data held within a string. When using MidB, both start and length refer to numbers of bytes as opposed to numbers of characters.
The following example parses the contents of a text box control (named txtString) and writes each word to a list box (named lstWord ). Note the use of the InStr function to determine the position of either a space or a carriage return/linefeed character combination, the two characters that can terminate a word in this case:
Private Sub cmdParse_Click() Dim strString As String, strWord As String Dim intStart As Integer, intEnd As Integer Dim intStrLen As Integer, intCrLf As Integer Dim blnLines As Boolean lstWords.Clear intStart = 1 strString = Trim(txtString.Text) intStrLen = Len(strString) intCrLf = InStr(1, strString, vbCrLf) If intCrLf Then blnLines = True Do While intStart > 0 intEnd = InStr(intStart, strString, " ") - 1 If intEnd <= 0 Then intEnd = intStrLen If blnLines And (intCrLf < intEnd) Then intEnd = intCrLf - 1 intCrLf = InStr(intEnd + 2, strString, vbCrLf) If intCrLf = 0 Then blnLines = False lstWords.AddItem Mid(strString, intStart, _ intEnd - intStart + 1) intStart = intEnd + 3 Else lstWords.AddItem Mid(strString, intStart, _ intEnd - intStart + 1) intStart = intEnd + 2 End If If intStart > intStrLen Then intStart = 0 Loop End Sub
Use the Len function to determine the total length of string.
Use InStr to determine the starting point of a given substring within another string.