Frage
Ich habe rund 100 Textzeilen, die ich tokenize wollen, die die folgenden ähnlich sind:
<word> <unknown number of spaces and tabs> <number>
Ich habe Probleme bei der Suche tokenize Funktionen mit VBA. Was wäre die einfachste Methode, solche Strings in VBA tokenize?
Lösung
Sie können Zeile für Zeile lesen und die Split-Funktion verwenden das Wort und die Anzahl von Raum zu teilen. Ich vage remeber VBA hat die Split-Funktion.
Ich habe den folgenden Link, um in Google suchen. Nicht sicher, welche Version von Office Sie verwenden.
http://msdn.microsoft.com/ en-us / library / aa155763 (office.10) aspx
Dieser Link hat die Split-Funktion.
Andere Tipps
Sie können die Split()
Methode verwenden oder für komplexere Spiele anschauen, können Sie das "vbscript.regexp"
Objekt verwenden:
Sub NewRegex()
Dim reg
Dim matches, match, tmpStr As String
Set reg = CreateObject("vbscript.regexp")
tmpStr = "blah bla ...."
With reg
.IgnoreCase = True
.MultiLine = False
.Pattern = "your regex pattern goes here"
.Global = True
End With
Set matches = reg.Execute(tmpStr)
For Each match In matches
MsgBox match
Next mt
End Sub
Hier ist ein Tutorial zur Verwendung von Regex von VBA: Reguläre Ausdrücke (RegExp) in Excel
VBA Split-Funktion direkt von MS Seite
http://msdn.microsoft.com/ en-us / library / aa155763 (office.10) aspx