Split()-Funktion
Übersicht

![]() |
JolinahBetreff: Split()-Funktion |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eine kleine Split()-Funktion, die auch mit längeren Separatoren funktioniert, d.h. nicht nur 1 Zeichen:
Code: [AUSKLAPPEN] Function Split:String[](str:String, separator:String)
Local ret:String[] Local pos:Int = 0 Local old_pos:Int = 0 pos = Instr(str, separator) old_pos = 1 - separator.Length While pos > 0 ret = ret[..ret.Length+1] ret[ret.Length-1] = Mid(str, old_pos + separator.Length, pos - (old_pos + separator.Length)) old_pos = pos pos = Instr(str, separator, old_pos + separator.Length) Wend ret = ret[..ret.Length+1] ret[ret.Length-1] = Mid(str, old_pos + separator.Length) Return ret End Function Anwendung: Code: [AUSKLAPPEN] Local txt:String = "Wort1<-->Wort2<-->Wort3"
Local arr:String[] = Split(txt, "<-->") For Local s:String = EachIn arr Print s Next |
||
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ähm,
meine Funktion (Explode()) tut das gleiche, hat noch einen zusätzlichen Parameter für die maximale Anzahl an Array-Einträgen, vergrößert das array nicht jeden durchlauf um eins, sondern erst am ende und prüft am anfang auf falsche parameter. |
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sorry, hatte ich nicht gesehen. Ich hab die Funktion halt grad für was eigenes geschrieben, und dachte das können evtl. noch andere brauchen. Deine Funktion ist schon optimierter, aber unbrauchbar ist meine deswegen ja jetzt auch nicht gleich, hoffe ich ![]() |
||
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmm, hab vorhin mal speedtest gemacht, deine ist ein kleines bisschen schneller. | ||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nachdem ich deine angeschaut habe, hätte ich das jetzt nicht gedacht ![]() ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group