Menu
Coddy logo textTech

Методы строк

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

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

  • len(): Возвращает количество символов в строке.
  • 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]

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

Шпаргалка

Встроенные строковые методы Rust:

  • len(): Возвращает количество символов
  • chars().nth(index).unwrap(): Возвращает символ по указанному индексу (начиная с 0)
  • 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();

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

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Проверьте себя

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

Все уроки раздела Fundamentals