Teilt anhand bestimmter Trennzeichen eine Zeichenkette in mehrere Teilzeichenketten auf.
Array := StrSplit(Zkette , Trennzeichen, WegzulassendeZeichen, MaxParts)
Eine Zeichenkette, die aufgeteilt werden soll.
Wenn dieser Parameter weggelassen wird oder leer ist, wird jedes Zeichen der eingehenden Zeichenkette als einzelne Teilzeichenkette behandelt.
Ansonsten kann Trennzeichen entweder eine einzelne Zeichenkette oder ein Array mit Zeichenketten sein, um zu bestimmen, wo die Abgrenzungen zwischen den Teilzeichenketten erfolgen sollen. Da die Trennzeichen nicht zu den Teilzeichenketten gehören, sind sie nie im Rückgabewert enthalten. Befindet sich außerdem nichts zwischen einem Paar von Trennzeichen innerhalb der eingehenden Zeichenkette, wird das entsprechende Array-Element leer sein.
Zum Beispiel: ","
würde die Zeichenkette jeweils bei einem Komma teilen. Ebenso würde [A_Tab, A_Space]
jedes Mal ein neues Array-Element erstellen, wenn ein Leer- oder Tabulatorzeichen in der eingehenden Zeichenkette vorkommt.
Eine optionale Liste von Zeichen (Groß-/Kleinschreibung-sensitiv), die jeweils am Anfang und Ende eines Array-Elements weggelassen werden sollen. Wenn WegzulassendeZeichen beispielsweise " `t"
wäre, wird bei jedem abgerufenen Element Leer- oder Tabulatorzeichen am Anfang und Ende (aber nicht in der Mitte) entfernt.
Wenn Trennzeichen leer ist, gibt WegzulassendeZeichen an, welche Zeichen das Array nicht enthalten soll.
Diese Funktion gibt ein Array (Objekt) mit Zeichenketten zurück.
Leerraumzeichen wie Leer- und Tabulatorzeichen werden beibehalten, sofern sie selbst keine Trennzeichen sind oder in WegzulassendeZeichen vorkommen. Tabulator- und Leerzeichen können durch Aufrufen der Trim-Funktion an beiden Enden jeder Variable entfernt werden. Zum Beispiel: MeinArray1 := Trim(MeinArray1)
.
Um eine Zeichenkette im CSV-Format (kommagetrennte Werte) zu splitten, können Sie eine parsende Schleife verwenden, weil sie nativ mit CSV umgehen kann.
Um die Felder vor dem Splitten anders anzuordnen, verwenden Sie den Sort-Befehl.
Wenn die Teilzeichenketten nicht dauerhaft im Arbeitsspeicher vorhanden sein müssen, sollten Sie in Betracht ziehen, eine parsende Schleife zu verwenden. Sie könnten dadurch viel Speicherplatz sparen, vor allem, wenn Zkette sehr groß ist. Zum Beispiel:
Farben := "rot,grün,blau" Loop, Parse, Farben, % "," MsgBox % "Farbnummer " A_Index " ist " A_LoopField
StringSplit, parsende Schleife, Arrays, Sort, SplitPath, InStr(), SubStr(), StrLen(), StringLower, StringUpper, StrReplace()