String-Methoden
Teil des Abschnitts Fundamentals der Rust-Journey von Coddy — Lektion 69 von 75.
Rust verfügt über eine umfangreiche Auswahl an integrierten String-Methoden, mit denen Sie verschiedene Operationen an Strings durchführen können. Diese Methoden bieten Funktionen zum Manipulieren, Suchen und Transformieren von Strings. Hier sind einige häufig verwendete String-Methoden:
len(): Gibt die Anzahl der Zeichen in der Zeichenfolge zurück.chars().nth(index): Gibt das Zeichen am angegebenen Index zurück (0-basiert). Diese Methode gibt einOption<char>zurück — ein spezieller Rust-Typ, der entweder einen Some-Wert (falls der Index existiert) oder None (falls nicht) darstellt. Der Aufruf von.unwrap()darauf extrahiert den Zeichenwert direkt.
contains(substring): Prüft, ob die Zeichenkette die angegebene Teilzeichenkette enthält.starts_with(prefix): Prüft, ob die Zeichenkette mit dem angegebenen Präfix beginnt.ends_with(suffix): Prüft, ob die Zeichenkette mit dem angegebenen Suffix endet.
to_uppercase(): Wandelt den String in Großbuchstaben um.to_lowercase(): Wandelt den String in Kleinbuchstaben um.trim(): Entfernt führende und abschließende Leerzeichen aus dem String.
Zum Beispiel:
let message = "Hello, World!";
let length = message.len();
let firstChar = message.chars().nth(0).unwrap();
let contains_world = message.contains("World");
let starts_with_hello = message.starts_with("Hello");
let lower = message.to_lowercase();Aufgabe
EinfachErstellen Sie eine Methode namens analyzeString, die einen String als Eingabe entgegennimmt und die folgende Analyse unter Verwendung von String-Methoden ausgibt:
- Die Länge des Strings
- Das Zeichen an Index 4
- Ob der String den Teilstring "Rust" enthält
- Ob der String mit einem Punkt
.endet - Der in Großbuchstaben umgewandelte String
Die Ausgabe sollte genau diesem Format folgen:
Length: [The length]
Char at 4: [The Char at index 4]
Contains Rust: [true or false]
Ends with dot: [true or false]
Uppercase: [The string in uppercase]Hinweis: Gehen Sie davon aus, dass der Eingabestring für alle Operationen lang genug ist.
Spickzettel
In Rust integrierte String-Methoden:
len(): Gibt die Anzahl der Zeichen zurückchars().nth(index).unwrap(): Gibt das Zeichen an dem angegebenen Index zurück (0-basiert)contains(substring): Prüft, ob der String den angegebenen Substring enthältstarts_with(prefix): Prüft, ob der String mit dem angegebenen Präfix beginntends_with(suffix): Prüft, ob der String mit dem angegebenen Suffix endetto_uppercase(): Wandelt den String in Großbuchstaben umto_lowercase(): Wandelt den String in Kleinbuchstaben umtrim(): Entfernt führende und nachfolgende Leerzeichen
let message = "Hello, World!";
let length = message.len();
let firstChar = message.chars().nth(0).unwrap();
let contains_world = message.contains("World");
let starts_with_hello = message.starts_with("Hello");
let lower = message.to_lowercase();Probier es selbst
use std::io;
fn analyze_string(s: &str) {
// Schreibe deinen Code hier
}
fn main() {
let mut message = String::new();
io::stdin().read_line(&mut message).unwrap();
let message = message.trim();
analyze_string(message);
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Fundamentals
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische AbkürzungenVergleichsoperatorenString-Vergleich7Grundlagen IO
Ausgabe in die KonsoleBenutzereingaben lesenWiederholung - Bis 120Wiederholung - Wahr oder Falsch5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung - Einfache LogikLogische Operatoren Teil 311Funktionen
Funktionen deklarierenParameter und ArgumenteRückgabewerteMehrere RückgabewerteWiederholung - Sigma-FunktionWiederholung - Validierungsfunktion14Iterieren über Arrays
Range-LeitfadenErweiterte For-SchleifeBorrowing in SchleifenGängige Array-Operationen3Variablen Teil 2
TypdeklarationNamenskonventionenTypinferenzRückblick - Variablen initialisierenTypumwandlung6Entscheidungsfindung
If-AusdrückeIf-ElseMatch-AnweisungZusammenfassung - If-ElseVerschachteltes If-Else9Schleifen
For-Schleife über SerienWhile-SchleifeBreakContinueVerschachtelte SchleifenSchleifen-LabelsEndlosschleifeRückblick – Dynamische Eingabe