Einsteiger-Kapitel - String-Manipulation
Das folgende Beispiel zeigt Schritt für Schritt die verschiedenen Befehle der String Bibliothek zum Arbeiten mit Zeichenfolgen (Strings) - ihren Verwendungszweck und ihre korrekte Anwendung.Define.s String1, String2, String3 String1 = "The quick brown fox jumps over the lazy dog." ; Left gibt eine Anzahl an Zeichen von der linken Seite eines Strings zurück. ; Mid gibt eine Anzahl an Zeichen vom angegebenen Startpunkt in der Mitte eines Strings zurück. ; Right gibt eine Anzahl an Zeichen von der rechten Seite eines Strings zurück. ; Space gibt die angegebene Anzahl an Leerzeichen als einen String zurück. ; Zeigt "The brown dog." Debug "* Left, Mid and Right" String2 = Left(String1, 3) + Space(1) + Mid(String1, 11, 5) + Space(1) + Right(String1, 4) Debug String2 ; CountString gibt die Anzahl, wie oft der zweite String im ersten String vorkommt, zurück. Dabei wird die Groß-/Kleinschreibung beachtet. ; Zeigt 1. Debug "* CountString" Debug CountString(String1, "the") ; Die LCase (und UCase) Funktionen können verwendet werden, um einen String komplett in kleine (oder große) Buchstaben umzuwandeln. ; Zeigt 2 Debug "* CountString and LCase" String2 = LCase(String1) Debug CountString(String2, "the") ; FindString kann verwendet werden, um die Position eines Strings in einem anderen zu finden. ; Zeigt 17. Debug "* FindString" Debug FindString(String1, "fox") ; RemoveString kann verwendet werden, um einen String aus einem anderen zu entfernen. ; Zeigt The quick fox jumps over the lazy dog. Debug "* RemoveString" String2 = RemoveString(String1, " brown") Debug String2 ; ReplaceString kann verwendet werden, um das Vorkommen eines Teilstrings innerhalb eines anderen Strings zu ändern. ; Zeigt The quick brown fox jumps over the sleeping dog. Debug "* ReplaceString" String2 = ReplaceString(String1, "lazy", "sleeping") Debug String2 ; StringByteLength gibt die Länge eines Strings in Bytes zurück - im angegebenen Format oder ; den aktuellen Standard, wenn kein Format angegeben wird (ohne das abschließende Nullzeichen). Debug "* StringByteLength" ; Zeigt 44. Debug StringByteLength(String1, #PB_Ascii) ; Zeigt 88. Debug StringByteLength(String1, #PB_Unicode) ; StringField kann verwendet werden, um einen indexierten Teilstring aus einem Zielstring zu erhalten. ; Nützlich zum Beispiel für das Konvertieren von String in Listen. ; StringField funktioniert auch mit einem Leerzeichen als Trennzeichen, ; aber hoffentlich macht dieses Beispiel das Verhalten der Funktion noch deutlicher. ; Zeigt jumps. Debug "* StringField" String2 = ReplaceString(String1, " ", "\") Debug String2 String3 = StringField(String2, 5, "\") Debug String3 ; Trim entfernt Leerzeichen vom Anfang und Ende eines Strings. ; Ähnlich verhält sich LTrim am linken Ende (Start) eines Strings und RTrim am rechten Ende. Debug "* Trim, LTrim and RTrim" String2 = Space(10) + String1 + Space(8) Debug #DQUOTE$ + String2 + #DQUOTE$ String3 = Trim(String2) Debug #DQUOTE$ + String3 + #DQUOTE$ String3 = LTrim(String2) Debug #DQUOTE$ + String3 + #DQUOTE$ String3 = RTrim(String2) Debug #DQUOTE$ + String3 + #DQUOTE$ ; LSet setzt einen String - ausgehend vom linken Ende - auf eine bestimmte Länge. Dabei wird ; gegebenenfalls mit Leerzeichen aufgefüllt oder einem anderen angegebenen Zeichen. ; Ist der String bereits länger als die angegebene Länge, wird er abgeschnitten. Debug "*LSet" Debug LSet("Abc", 10, "*") Debug LSet("Abcd", 10, "*") Debug LSet("Abcde", 10, "*") ; Ähnlich füllt RSet einen String ausgehend vom rechten Ende auf. Debug "* RSet" Debug RSet("1.23", 10, "0") Debug RSet("10.23", 10, "0") Debug RSet("100.23", 10, "0") ; Str wandelt einen vorzeichenbehafteten ("signed") Quad-Wert in einen String, ähnlich wandelt StrF Float-Werte um, ; StrD wandelt Doubles und StrU konvertiert vorzeichenlose ("unsigned") Werte - die letzten zwei Funktionen haben ; einen optionalen Parameter, um anzuzeigen, wieviele Dezimalstellen angezeigt werden sollen. Debug "* Str, StrF and StrD" Debug Str(100) Debug StrF(1.234, 3) Debug StrD(123456.789, 3) ; Val wird einen String-Wert in sein numerisches Äquivalent (Quad) umwandeln. ; ValD und ValF führen die gleiche Funktion für Floats und Doubles aus. Debug "* Val" Debug Val("123") ; Bin wird einen numerischen Wert in sein binäres Äquivalent konvertieren. ; Hex wird einen in sein hexadezimales Äquivalent umwandeln. Debug "* Bin and Hex" Debug Bin(19) Debug Hex(19)
Einsteiger-Kapitel Navigation
< Vorheriges: Schleifen | Überblick | Nächstes: Speichern von Daten im Speicher >