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