StrSplit

Teilt eine Zeichenkette mittels bestimmter Separatoren in mehrere Teilzeichenketten auf.

Array := StrSplit(Zkette , Separatoren, ZuEntfernendeZeichen, MaxParts)

Parameter

Zkette

Typ: Zeichenkette

Eine Zeichenkette, die aufgeteilt werden soll.

Separatoren

Typ: Zeichenkette oder Array

Wenn leer oder weggelassen, wird jedes Zeichen in der Eingabezeichenkette als einzelne Teilzeichenkette behandelt.

Andernfalls geben Sie entweder eine einzelne Zeichenkette oder ein Array von Zeichenketten an (Groß-/Kleinschreibung-sensitiv), die jeweils zur Abgrenzung der Teilzeichenketten verwendet werden. Da die Separatoren nicht als Teil der Teilzeichenketten betrachtet werden, sind sie nie im Rückgabe-Array enthalten. Wenn sich zwischen zwei Separatoren in der Eingabezeichenkette nichts befindet, wird das entsprechende Array-Element leer sein.

Zum Beispiel: "," würde die Zeichenkette an jedem Komma teilen, während [A_Space, A_Tab] ein neues Array-Element an jedem Leer- oder Tabulatorzeichen in der Eingabezeichenkette erstellen würde.

ZuEntfernendeZeichen

Typ: Zeichenkette

Wenn leer oder weggelassen, werden keine Zeichen entfernt. Andernfalls geben Sie eine Liste von Zeichen an (Groß-/Kleinschreibung-sensitiv), die am Anfang und Ende jedes Array-Elements entfernt werden sollen. Wenn ZuEntfernendeZeichen z.B. " `t" ist, werden Leer- und Tabulatorzeichen am Anfang und Ende (aber nicht in der Mitte) jedes abgerufenen Elements entfernt.

Wenn Separatoren leer ist, gibt ZuEntfernendeZeichen die Zeichen an, die das Array nicht enthalten soll.

MaxParts

Typ: Integer

Wenn weggelassen, wird standardmäßig -1 verwendet, d.h. "kein Limit". Andernfalls geben Sie die maximale Anzahl von Teilzeichenketten an, die zurückgegeben werden sollen. Wenn ungleich 0, wird die Zeichenkette maximal MaxParts-1 Mal geteilt und der Rest der Zeichenkette als letzte Teilzeichenkette zurückgegeben (ohne ZuEntfernendeZeichen am Anfang und Ende).

Rückgabewert

Typ: Array

Diese Funktion gibt ein Array zurück, das die Teilzeichenketten der angegebenen Zeichenkette enthält.

Bemerkungen

Leerraumzeichen wie Leer- und Tabulatorzeichen bleiben erhalten, es sei denn, diese Zeichen sind im Separatoren- oder ZuEntfernendeZeichen-Parameter angegeben. Um Leer- und Tabulatorzeichen an beiden Enden einer Variable zu entfernen, verwenden Sie Trim. Zum Beispiel: Var := Trim(Var)

Zum Splitten einer Zeichenkette im regulären CSV-Format (Comma Separated Values, dt. kommagetrennte Werte) können Sie eine parsende Schleife verwenden, da diese nativ mit CSV umgehen kann.

Um die Felder vor dem Splitten anders anzuordnen, verwenden Sie die Sort-Funktion.

Wenn die Teilzeichenketten nur temporär benötigt werden, ist es ratsam, eine parsende Schleife zu verwenden, insbesondere wenn Zkette sehr groß ist, da in diesem Fall viel Arbeitsspeicher gespart werden kann. Zum Beispiel:

Farben := "rot,grün,blau"
Loop Parse, Farben, ","
    MsgBox "Farbe Nr. " A_Index " ist " A_LoopField

Parsende Schleife, Sort, SplitPath, InStr, SubStr, StrLen, StrLower, StrUpper, StrReplace

Beispiele

Splittet einen Satz in ein Array von Wörtern und meldet das vierte Wort.

TestZkette := "Das ist ein Test."
wort_array := StrSplit(TestZkette, A_Space, ".")  ; Entfernt Punkte.
MsgBox "Das vierte Wort ist " wort_array[4]

Splittet eine kommagetrennte Liste von Farben in ein Array von Teilzeichenketten und geht diese einzeln durch.

Farben := "rot,grün,blau"
for Index, Farbe in StrSplit(Farben, ",")
    MsgBox "Farbe Nr. " Index " ist " Farbe