Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsPmTxInr 328 of 373 menu
◀ ▶

Введение в текстовые функции в Rust

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

Большинство таких команд не меняют исходную строку на месте, а отдают новый текст или отдельный ответ: логический признак, место куска, необязательное значение или результат с возможной ошибкой. Это согласуется с тем, как устроены String и &str: удобнее получить новую фразу или явный ответ, чем гадать, изменилось ли старое значение.

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

Файлы и первые предложения: case/ru.html (регистр букв меняют, и получается новая строка), first/ru.html (первую букву латинского слова достают из перебора символов), edges/ru.html (спрашивают, содержит ли текст кусок и начинается ли он с куска), find/ru.html (поиск отдает место куска или пусто), replace/ru.html (замена строит новую фразу, исходная остается), trim/ru.html (обрезка убирает пробелы по краям), split/ru.html (разбиение делит фразу по разделителю на куски), repeat/ru.html (фразу повторяют несколько раз подряд), parse-num/ru.html (текст из цифр переводят в целое, и перевод может не удасться), parse-bool/ru.html (слова true и false переводят в логическое значение), char-check/ru.html (у символа спрашивают, цифра это, буква или пробел), practice/ru.html (в этих задачах потренируем поиск и перевод текста).

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить