Rückblick – Das erste Wort finden
Teil des Abschnitts Logic & Flow der Rust-Journey von Coddy — Lektion 58 von 66.
Aufgabe
EinfachSie erhalten eine einzelne Eingabe, die einen Satz mit mehreren durch Leerzeichen getrennten Wörtern enthält. Finden und drucken Sie das erste Wort aus dem Satz mithilfe von String-Slicing.
Anforderungen:
- Lesen Sie den Eingabesatz ein und entfernen Sie führende und abschließende Leerzeichen (trim)
- Finden Sie die Position des ersten Leerzeichens im Satz
- Erstellen Sie einen String-Slice vom Anfang des Satzes bis zum (aber nicht einschließlich) ersten Leerzeichen
- Drucken Sie das erste Wort aus
Hinweis: Sie können die Methode .find() verwenden, um das erste Leerzeichen zu lokalisieren. Rufen Sie sie so auf: sentence.find(' '), wobei Sie ein Leerzeichen als Argument übergeben. Diese Methode gibt ein Option zurück, das den Index enthält, falls ein Leerzeichen gefunden wird. Verwenden Sie .unwrap_or(sentence.len()), um Fälle zu behandeln, in denen kein Leerzeichen vorhanden ist (einzelnes Wort), wobei standardmäßig die volle Länge des Satzes verwendet wird.
Eingabe:
- Ein Satz mit einem oder mehreren Wörtern, die durch Leerzeichen getrennt sind (z. B.
Hello World from Rust)
Ausgabe:
- Das erste Wort aus dem Satz
Probier es selbst
use std::io::{self, BufRead};
fn main() {
// Eingabe lesen
let stdin = io::stdin();
let sentence = stdin.lock().lines().next().unwrap().unwrap().trim().to_string();
// TODO: Schreibe deinen Code unten
// Finde die Position des ersten Leerzeichens
// Erstelle einen String-Slice vom Anfang bis zum ersten Leerzeichen
// Speichere das erste Wort in einer Variablen
// Das erste Wort ausgeben
// println!("{}", first_word);
}Alle Lektionen in Logic & Flow
1Fortgeschrittener Kontrollfluss
Der 'match'-AusdruckAbgleichen mehrerer WerteBereiche abgleichenDer 'if let'-AusdruckSchleifen als AusdrückeRückblick – Einfacher Befehls-Parser4Daten gruppieren mit Structs
Was ist ein Struct?Übersicht über StructsZugriff auf Struct-FelderVeränderbare StructsStructs als FunktionsparameterTupel-StructsZusammenfassung – Ein Buch-Struct erstellen2Einführung in Vektoren
Was ist ein Vektor?Einen Vektor erstellenElemente mit push hinzufügenZugriff auf Vektor-ElementeÜber einen Vektor iterierenVeränderliche IterationElemente entfernenZusammenfassung – Einfacher Score-Tracker5Schlüssel-Wert-Paare mit Hash Maps
Was ist eine Hash Map?Erstellen einer Hash MapEinfügen von Schlüssel-Wert-PaarenZugreifen auf WerteIterieren über eine Hash MapAktualisieren eines WertesEntfernen eines PaaresZusammenfassung – Wortzähler8Projekt: Einfaches Artikelinventar
Projekt-SetupEinen Artikel hinzufügenLagerbestand prüfenEinen Artikel verkaufenAlles zusammenfügen11Abschluss-Herausforderungen
Wiederholung - Einzigartige ElementeWiederholung - Benutzerprofil-ValidatorWiederholung - Noten-Zusammenfassung3Kommandozeilen-To-Do-Liste
Projekt-SetupEine Aufgabe hinzufügenAlle Aufgaben anzeigenEine Aufgabe entfernenFinaler Code6Umgang mit fehlenden Werten mit 'Option'
Was ist ein 'Option'?'match' mit 'Option' verwendenis_some() und is_none()Ein 'Option' entpackenDie 'expect'-MethodeStandardwert bereitstellen: unwrap_orRückblick – Ein Element finden9String-Slices und mehr
String vs. &strString-Slices erstellenSlices als FunktionsparameterWeitere SlicesRückblick – Das erste Wort finden