Методы строк
Часть раздела Основы путешествия по Rust на Coddy. Урок 69 из 75.
Rust располагает богатым набором встроенных методов для работы со строками, позволяющих выполнять различные операции над строками. Эти методы предоставляют возможности для обработки, поиска и преобразования строк. Вот некоторые часто используемые методы для работы со строками:
len(): возвращает количество байтов в строке (для текста ASCII оно равно количеству символов).chars().nth(index): возвращает символ по указанному индексу (нумерация начинается с 0). Этот метод возвращаетOption<char>: специальный тип Rust, который представляет либо значение Some (если индекс существует), либо None (если индекс не существует). Вызов.unwrap()извлекает из него значение символа напрямую.
contains(substring): Проверяет, содержит ли string указанную подстроку.starts_with(prefix): Проверяет, начинается ли string с указанного префикса.ends_with(suffix): Проверяет, заканчивается ли string указанным суффиксом.
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, который принимает string в качестве входных данных и выводит следующий анализ с использованием методов string:
- length string
- Символ в index 4
- Содержит ли string подстроку "Rust"
- Заканчивается ли string на dot
. - string, преобразованный в uppercase
Вывод должен иметь следующий точный формат:
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]Примечание: предположи, что входная string будет достаточно длинной для выполнения всех операций.
Попробуйте сами
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