Menu
CoddyTech

Методы строк

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

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

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

  1. Длина строки
  2. Символ с индексом 4
  3. Содержит ли строка подстроку "Rust"
  4. Заканчивается ли строка точкой .
  5. Строка, преобразованная в верхний регистр

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

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]

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

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

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