C# :: Aufgabe #396 :: Lösung #1
3 Lösungen
#396
Reihenfolgeabhängige Teilsequenz(en)
Anfänger - C#
von JKooP
- 10.05.2021 um 19:10 Uhr
Gegeben ist ein String (Text) der ausschließlich aus Kleinbuchstaben besteht.
Es soll überprüft werden, ob eine Sequenz - auch in Teilen - reihenfolgeabhängig im gegebenen String vorhanden ist.
Eine Teilsequenz kann auch aus nur einem einzelnen Zeichen bestehen.
Die Sequenz muss immer in der Gesamtheit überprüft werden (nicht nur Teile der Sequenz).
Beispiele:
Text = "abcdefg"
Sequenz ="ace"
Lösung: true; "abcdefg"
Text = "abcdefg"
Sequenz = "aec"
Lösung: false; alle Zeichen vorhanden, aber nicht in der richtigen Reihenfolge
Text = "abcdefg"
Sequenz = "atg"
Lösung: false; "t" nicht vorhanden
Schreibe eine Funktion/Methode, die für obige Aufgabenstellung als Ergebnis true/false liefert.
Viel Spaß
Es soll überprüft werden, ob eine Sequenz - auch in Teilen - reihenfolgeabhängig im gegebenen String vorhanden ist.
Eine Teilsequenz kann auch aus nur einem einzelnen Zeichen bestehen.
Die Sequenz muss immer in der Gesamtheit überprüft werden (nicht nur Teile der Sequenz).
Beispiele:
Text = "abcdefg"
Sequenz ="ace"
Lösung: true; "abcdefg"
Text = "abcdefg"
Sequenz = "aec"
Lösung: false; alle Zeichen vorhanden, aber nicht in der richtigen Reihenfolge
Text = "abcdefg"
Sequenz = "atg"
Lösung: false; "t" nicht vorhanden
Schreibe eine Funktion/Methode, die für obige Aufgabenstellung als Ergebnis true/false liefert.
Viel Spaß
#1
von manoloForead (390 Punkte)
- 24.05.2021 um 22:03 Uhr
C#-Code
private bool FindSubstring(string baseString, string subString) { // Für jedes Zeichen in der kurzen Zeichenfolge... foreach (char c in subString) { // Die Position des Zeichens in der langen Folge ermitteln int position = baseString.IndexOf(c); // Wenn vorhanden, dann die lange Folge am Anfang bis einschließlich des gefundenen Zeichens entfernen if (position >= 0) { baseString = baseString.Substring(position); } // Wenn nicht gefunden, "False" zurückgeben else { return false; } } // Wenn alle Zeichen gefunden werden, "True" zurückgeben return true; }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1