Методы строк
Часть раздела Fundamentals путешествия по 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();Задание
ЛегкоСоздайте метод с именем analyzeString, который принимает строку в качестве входных данных и выводит следующий анализ, используя строковые методы:
- Длина строки
- Символ по индексу 4
- Содержит ли строка подстроку "Rust"
- Заканчивается ли строка точкой
. - Строка, преобразованная в верхний регистр
Вывод должен соответствовать следующему формату:
Length: [Длина]
Char at 4: [Символ по индексу 4]
Contains Rust: [true или false]
Ends with dot: [true или false]
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);
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияАрифметические сокращенияОператоры сравненияСравнение строк7Основы ввода-вывода
Вывод в консольЧтение ввода пользователяПовторение — До 120Повторение — True или False5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 38Приложение-калькулятор
Приветственное сообщениеПолучение чисел3Переменные. Часть 2
Объявление типаСоглашения об именованииВывод типовПовторение: инициализация переменныхПриведение типов9Циклы
Цикл For по последовательностиЦикл WhileОператор BreakОператор ContinueВложенные циклыМетки цикловБесконечный циклПовторение — Динамический вводПотренируйтесь самостоятельно: Онлайн-компилятор Rust