Wie man einen String ( = Textfolge) in einzelne Worte aufspaltet ?    zurück

Mit dem Befehl SPLIT() kann man Teile einer Textfolge herausschneiden, die durch ein Leer- oder anderes Zeichen voneinander getrennt sind.

Man kann das Trennzeichen festlegen und man kann Zeichen definieren, die nicht als Trennzeichen benutzt werden sollen.
Split() erzeugt ein Array mit all den Einzelteilen.


Syntax:
Split(myString AS String [, separator AS String, escape AS String])

Schauen Sie sich auch den Befehl Array.FromString an! Der Unterschied zu Split ist, das man Array.FromString auch mit einem bereits existierenden Array benutzen kann.

Das Programm

Tippen Sie einen Satz mit mehr als einem Wort und klicken Sie auf den Befehlsknopf.

Die Textanzeige unten zeigt dann die Wörter in der umgedrehten Reihenfolge.

Der Code:

STATIC PUBLIC SUB Main()
  hForm AS Fmain
  hForm = NEW Fmain
  hForm.show
END

PUBLIC SUB Button1_Click()
  myAr AS String[]
  myStr AS String
  outstr AS String
  x AS Integer

  outstr = ""
  myAr = Split(TextBox1.Text, " ")
  FOR x = 1 TO myAr.length
    outstr = outstr & " " & myAr[myAr.length - x]
  NEXT
  TextLabel1.Text = outstr
END

Theorie 
Split 
Array = Split ( String [ , Separators , Escape ] ) 

Splits a string into substrings delimited by Separators . Escape characters can be specified : any separator characters enclosed between two escape characters are ignored in the splitting process. 
(Note that Split takes only three arguments: if you want to use several separators, you should pass them as the second parameter, concatenated in a single string.) 
By default, the comma character is the separator, and there are no escape characters. 
This function returns a string array filled with each detected substring. 
Example :
 
DIM Elt AS String[]
DIM Sb AS String
Elt = Split("Gambas Almost Means BASIC ! 'agree ?'", " ", "'")
FOR EACH Sb IN Elt
  PRINT Sb
NEXT

=>
Gambas
Almost
Means
BASIC
!
agree ?