Menu
Coddy logo textTech

Методы строк

Часть раздела Основы путешествия по Rust на Coddy. Урок 69 из 75.

Rust располагает богатым набором встроенных методов для работы со строками, позволяющих выполнять различные операции над строками. Эти методы предоставляют возможности для обработки, поиска и преобразования строк. Вот некоторые часто используемые методы для работы со строками:

  • len(): возвращает количество байтов в строке (для текста ASCII оно равно количеству символов).
  • chars().nth(index): возвращает символ по указанному индексу (нумерация начинается с 0). Этот метод возвращает Option<char>: специальный тип Rust, который представляет либо значение Some (если индекс существует), либо None (если индекс не существует). Вызов .unwrap() извлекает из него значение символа напрямую.
  • contains(substring): Проверяет, содержит ли string указанную подстроку.
  • starts_with(prefix): Проверяет, начинается ли string с указанного префикса.
  • ends_with(suffix): Проверяет, заканчивается ли string указанным суффиксом.
  • to_uppercase(): Преобразует строку в верхний регистр.
  • to_lowercase(): Преобразует строку в нижний регистр.
  • trim(): Удаляет начальные и конечные пробелы из строки.

Например:

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

Задание

Легко

Создай метод с именем analyzeString, который принимает string в качестве входных данных и выводит следующий анализ с использованием методов string:

  1. length string
  2. Символ в index 4
  3. Содержит ли string подстроку "Rust"
  4. Заканчивается ли string на dot .
  5. string, преобразованный в uppercase

Вывод должен иметь следующий точный формат:

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]

Примечание: предположи, что входная string будет достаточно длинной для выполнения всех операций.

Попробуйте сами

use std::io;

fn analyze_string(s: &str) {
    // Напишите свой код здесь
}

fn main() {
    let mut message = String::new();
    io::stdin().read_line(&mut message).unwrap();
    let message = message.trim();
    analyze_string(message);
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор Rust