Strings teilen in Bmax und an Arrays übergeben

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Neue Antwort erstellen

 

klepto2

Betreff: Strings teilen in Bmax und an Arrays übergeben

BeitragDo, Jun 09, 2005 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe hier 2 Funktionen zum Splitten von Strings und deren übergabe in
einen Array:

Die Funktion Return_Strip teilt den String jeweils an der Stelle wo der angegebene ASCII code auftaucht und zwar solange, bis nurnoch ein teil
übrig ist.

Die Funktion Return_Strip2 teilt den String jeweils durch die einzelnen
bestandteile des übergebenen Strings. Aber nur jeweils einmal.

Mit diesen Funktionen kann mann einen String ganz einfach in seine Bestandteile zerlegen und später einzeln auslesen. (z.b.: für Script-Befehle)

BlitzBasic: [AUSKLAPPEN]

Strict

Local I:Int



Print \"Return_strip2 : ('Load Map:Test.dat')\"

Local Strip:String[]
Strip = Return_Strip2(\"Load Map:Test.dat\",\" :\")
For I = 0 To Strip.length-1
Print I + \" : \" + Strip[I]
Next

Print \"Return_strip : ('Load Map:Test.dat')\"

Local Strip2:String[]
Strip2 = Return_Strip(\"Load Map:Test.dat\",32)
For I = 0 To Strip2.length-1
Print I + \" : \" + Strip2[I]
Next




Function Return_Strip2:String[](_String:String,_strip:String)

Local Text_Array : String[1]
Local R_Text:String = _string
Local i:Int = 0

Repeat
If R_Text.Length = 0 Then Exit
Local sp_p:Int = R_Text.Find(Mid(_strip,I+1,1))
If sp_p = - 1 Or I > _strip.length -1 Then
Text_Array[I] = R_Text
Exit
End If
Text_Array[I] = Left(R_Text,sp_p)
R_Text = Right(R_Text,(R_text.Length - sp_p)-1)
I:+1
Text_Array = Text_array[..I+1]
Forever

Return Text_array

End Function

Function Return_Strip:String[](_String:String,_strip:Int)

Local Text_Array : String[1]
Local R_Text:String = _string
Local i:Int = 0

Repeat
If R_Text.Length = 0 Then Exit
Local sp_p:Int = R_Text.Find(Chr(_strip))
If sp_p = - 1 Then
Text_Array[I] = R_Text
Exit
End If
Text_Array[I] = Left(R_Text,sp_p)
R_Text = Right(R_Text,(R_text.Length - sp_p)-1)
I:+1
Text_Array = Text_array[..I+1]
Forever

Return Text_array

End Function

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group