Menu
Coddy logo textTech

Metody ciągów znaków

Część sekcji Podstawy ścieżki Rust w Coddy. Lekcja 69 z 75.

Rust oferuje bogaty zestaw wbudowanych metod łańcuchów znaków, które umożliwiają wykonywanie różnych operacji na łańcuchach. Metody te pozwalają na manipulowanie, wyszukiwanie i przekształcanie łańcuchów znaków. Oto kilka często używanych metod łańcuchów znaków:

  • len(): Zwraca liczbę bajtów w ciągu znaków (równą liczbie znaków w tekście ASCII).
  • chars().nth(index): Zwraca znak o podanym indeksie (liczonym od 0). Ta metoda zwraca wartość typu Option<char>: specjalny typ Rust, który reprezentuje albo wartość Some (jeśli indeks istnieje), albo None (jeśli nie istnieje). Wywołanie na nim .unwrap() bezpośrednio wyodrębnia wartość znaku.
  • contains(substring): Sprawdza, czy ciąg znaków zawiera określony podciąg.
  • starts_with(prefix): Sprawdza, czy ciąg znaków zaczyna się od określonego prefiksu.
  • ends_with(suffix): Sprawdza, czy ciąg znaków kończy się określonym sufiksem.
  • to_uppercase(): Zamienia ciąg znaków na wielkie litery.
  • to_lowercase(): Zamienia ciąg znaków na małe litery.
  • trim(): Usuwa białe znaki z początku i końca ciągu znaków.

Na przykład:

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();
challenge icon

Wyzwanie

Łatwy

Utwórz metodę o nazwie analyzeString, która przyjmuje ciąg znaków jako dane wejściowe i wypisuje poniższą analizę, używając metod ciągów znaków:

  1. Długość ciągu znaków
  2. Znak na indeksie 4
  3. Czy ciąg znaków zawiera podciąg "Rust"
  4. Czy ciąg znaków kończy się kropką .
  5. Ciąg znaków zamieniony na wielkie litery

Wynik powinien mieć dokładnie taki format:

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]

Uwaga: Załóż, że ciąg wejściowy będzie wystarczająco długi, aby można było wykonać wszystkie operacje.

Spróbuj swoich sił

use std::io;

fn analyze_string(s: &str) {
    // Wpisz tutaj swój kod
}

fn main() {
    let mut message = String::new();
    io::stdin().read_line(&mut message).unwrap();
    let message = message.trim();
    analyze_string(message);
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Rust online