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