Skip to content

VBMAN.ToolsStr - String Tool Object

Overview

VBMAN.ToolsStr provides rich string processing functions, including GUID generation, regex extraction, encoding conversion, text splitting, etc.

Methods

GetGUID

Generate GUID string

vb
Public Function GetGUID(Optional isFull As Boolean) As String

Parameters:

  • isFull - Whether to return full format (with braces), default False

Returns: GUID string

Example:

vb
' Standard format
Debug.Print VBMAN.ToolsStr.GetGUID()
' Output: 550e8400-e29b-41d4-a716-446655440000

' Full format
Debug.Print VBMAN.ToolsStr.GetGUID(True)
' Output: {550e8400-e29b-41d4-a716-446655440000}

ParseNumbers

Extract numbers from string

vb
Public Function ParseNumbers(inputString As String, Optional DecimalPlaces As Long = -1, Optional Count As Long) As Collection

Parameters:

  • inputString - Input string
  • DecimalPlaces - Decimal places (-1 means no processing)
  • Count - Maximum extraction count (0 means no limit)

Returns: Collection containing numbers

Example:

vb
Dim nums As Collection
Set nums = VBMAN.ToolsStr.ParseNumbers("Price: 123.45 yuan, Quantity: 10 pieces")

Dim i As Long
For i = 1 To nums.Count
    Debug.Print nums(i)
Next i
' Output: 123.45, 10

SplitLinesToCollection

Split text into line collection

vb
Public Function SplitLinesToCollection(ByVal Text As String) As cCollection

Parameters:

  • Text - Text to split

Returns: cCollection, one element per line

Example:

vb
Dim lines As cCollection
Set lines = VBMAN.ToolsStr.SplitLinesToCollection("Line 1" & vbCrLf & "Line 2" & vbCrLf & "Line 3")

Dim i As Long
For i = 1 To lines.Count
    Debug.Print lines(i)
Next i

JoinLinesFromCollection

Join line collection into string

vb
Public Function JoinLinesFromCollection(Coll As cCollection) As String

Parameters:

  • Coll - cCollection

Returns: Joined string

Example:

vb
Dim coll As New cCollection
coll.Add "Line 1"
coll.Add "Line 2"
coll.Add "Line 3"

Dim text As String
text = VBMAN.ToolsStr.JoinLinesFromCollection(coll)
' Result: Line 1 & vbCrLf & Line 2 & vbCrLf & Line 3

ToArray

Convert string to character array

vb
Public Function ToArray(Text As String) As String()

Parameters:

  • Text - Input string

Returns: Character array

Example:

vb
Dim chars() As String
chars = VBMAN.ToolsStr.ToArray("Hello")

Dim i As Long
For i = LBound(chars) To UBound(chars)
    Debug.Print chars(i)
Next i
' Output: H, e, l, l, o

SplitLines

Split text into line array

vb
Public Function SplitLines(ByVal Text As String) As String()

Parameters:

  • Text - Input text

Returns: String array

Example:

vb
Dim lines() As String
lines = VBMAN.ToolsStr.SplitLines("Line 1" & vbCrLf & "Line 2")

Comprehensive Examples

Example 1: Generate Unique ID

vb
Private Sub GenerateUniqueId()
    ' Generate order number
    Dim orderId As String
    orderId = "ORD" & Replace(VBMAN.ToolsStr.GetGUID(), "-", "")
    Debug.Print orderId
    ' Output: ORD550e8400e29b41d4a716446655440000
End Sub

Example 2: Extract Data from Text

vb
Private Sub ExtractData()
    Dim text As String
    text = "Product A: Price 199.99 yuan, Stock 50 pieces, Sales 1000 pieces"
    
    Dim numbers As Collection
    Set numbers = VBMAN.ToolsStr.ParseNumbers(text, 2)  ' Keep 2 decimal places
    
    If numbers.Count >= 3 Then
        Debug.Print "Price: " & numbers(1)   ' 199.99
        Debug.Print "Stock: " & numbers(2)   ' 50
        Debug.Print "Sales: " & numbers(3)   ' 1000
    End If
End Sub

Example 3: Process Multi-line Text

vb
Private Sub ProcessMultiLineText()
    Dim inputText As String
    inputText = "Zhang San,25,Beijing" & vbCrLf & _
                "Li Si,30,Shanghai" & vbCrLf & _
                "Wang Wu,28,Guangzhou"
    
    ' Split into lines
    Dim lines As cCollection
    Set lines = VBMAN.ToolsStr.SplitLinesToCollection(inputText)
    
    ' Process each line
    Dim i As Long
    For i = 1 To lines.Count
        Dim parts() As String
        parts = Split(lines(i), ",")
        
        Debug.Print "Name: " & parts(0) & ", Age: " & parts(1) & ", City: " & parts(2)
    Next i
End Sub

Other Common Methods

According to source code, ToolsStr also contains the following methods (partial):

MethodDescription
IsEmptyExCheck if string is empty (extended)
TrimExEnhanced Trim function
PercentEncodePercent encoding
PercentDecodePercent decoding
UnicodeEncodeUnicode encoding
UnicodeDecodeUnicode decoding
HasStrCheck if contains substring
SubStrSubstring extraction
GetRandStrGenerate random string

Best Practices

  1. GUID Usage: Suitable for generating unique identifiers, but not suitable as ordered ID
  2. Number Extraction: Regex extraction, pay attention to handling decimals and scientific notation
  3. Text Splitting: Handle different newline formats (\r\n, \n)
  4. Character Encoding: Note that VB6 internally uses Unicode, but IO often uses ANSI

VB6 and LOGO copyright of Microsoft Corporation