Dart Basic: Strings Part 2

Im ersten Teil dieser kleinen Serie zum Thema Dart und Strings haben wir ganz einfach begonnen. Wir wissen, wie wir einer Variablen eine Zeichenkette zuweisen können. Wir wissen auch das in Dart alles ein Objekt ist, so auch jede String Variable.







Jetzt wollen wir uns aber tiefer in die Materie stürzen !
Eine Problematik die immer wieder auftauchen kann: Ist eine Zeichenkette in einer anderen vorhanden ?

contains()


Zur Klarstellung: Wir überprüfen nicht, ob zwei Strings identisch bzw gleich sind. Wir testen ob eine Zeichenkette Teil einer oder identisch mit einer anderen Zeichenkette ist. Wie ist das gemeint ?

Beispiel contains()
Wenn wir uns links den sehr einfachen Code an.
test1.contains(..) liefert als Ergebnis ein false, also falsch. ABBC ist nicht Teil der Zeichenkette die wir in der Variablen test1 gespeichert haben. Das ? leitet eigentlich eine if Konstruktion ein.
Die Print Funktion nach dem Fragezeichen wird ausgeführt, wenn contains(..) ein true liefert. Die Print Funktion nach dem Doppelpunkt : wird ausgeführt, wenn contains(..) ein false liefert. Würden wir auf contains( ABBAAAA ) testen, ergäbe das true.  

startsWith()


Nehmen wir an, wir hätten eine Liste mit Vornamen, Nachnamen etc. Jetzt möchten wir alle Einträge, die mit einem H beginnen.

startsWith()

Der Code oben wird uns ein true liefern, vorausgesetzt in test1 ist eine Zeichenkette die mit H beginnt. Man beachte, das für Dart h und H zwei unterschiedliche Buchstaben darstellen !
Wir können die Zeichenkette, die wir mit startsWith(..) benutzen auch grösser festlegen. 
Dart wird immer vom Start her, Index 0, mit der Operation beginnen. Jetzt müssen wir jeden Eintrag einer Liste überprüfen und wenn notwendig in eine neue Liste überführen. Am Schluss hätten wir eine neue Liste, wahrscheinlich eine Teilmenge der alten, die unseren Kriterien entspricht.

endsWith()


Diese Funktion funktioniert wie startsWith(), mit dem Unterschied, das die Überprüfung, ob ein Vergleich ein true ergibt, vom Ende her geschieht.

endsWith()


Auch bei dieser Funktion kann die Zeichenkette auf die wir testen, grösser als ein Buchstabe sein.

toLowerCase(), toUpperCase()


Diese zwei Varianten scheinen im ersten Moment nicht so interessant. Wenn man aber bedenkt, das für Dart ein großes H ein anderer Buchstabe ist, als ein kleines h, sieht das ein wenig anders aus.

toUpperCase()
Wie wir oben gesehen haben, geben einige Methoden die auf Übereinstimmung testen, ein true oder false zurück. Jetzt ist es aber wahrscheinlich, das wir in der Praxis Zeichenketten untersuchen, von welchen wir nicht wissen, wie der Inhalt und die Mischung zwischen Groß und Kleinbuchstaben aussieht. Mit toLowerCase(), toUpperCase() können wir eine Zeichenkette in einen definierten Zustand bringen, d.h. alles Groß-, oder alles Kleinbuchstaben.

Zu beachten ist, das diese Funktion einen neuen String zurückgibt.

Wir sind am Ende des zweiten Teils dieser kleinen Serie zu Strings in Dart. Bis bald !

Kommentare

Beliebte Posts aus diesem Blog

Flutter BloC Pattern 1

Flutter -- Tutorial Teil 5 Navigator