Изучение Rust: символы нижнего регистра – методы и примеры

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

Метод 1: использование функции to_lowercase()
Самый простой способ преобразовать символ в нижний регистр в Rust — использовать функцию to_lowercase()из модуля std::char. Этот метод возвращает представление данного символа в нижнем регистре.

fn main() {
    let ch = 'A';
    let lowercase_ch = ch.to_lowercase();
    println!("Lowercase: {}", lowercase_ch);
}

Выход:

Lowercase: a

Метод 2: использование функции to_ascii_lowercase()
Если вы специально хотите преобразовать символы ASCII в нижний регистр, вы можете использовать функцию to_ascii_lowercase(). Этот метод преобразует символ в нижний регистр, если это символ ASCII; в противном случае возвращается исходный символ.

fn main() {
    let ch = 'A';
    let lowercase_ch = ch.to_ascii_lowercase();
    println!("Lowercase: {}", lowercase_ch);
}

Выход:

Lowercase: a

Метод 3: использование стороннего крейта
Rust имеет динамичную экосистему с многочисленными сторонними крейтами, которые предоставляют дополнительные функциональные возможности. Один из таких ящиков — unicode-segmentation, который предлагает расширенные алгоритмы сегментации Unicode. Вы также можете использовать этот контейнер для символов нижнего регистра.

Сначала добавьте в файл Cargo.tomlследующую зависимость:

[dependencies]
unicode-segmentation = "1.8.0"

Затем используйте функцию to_lowercaseиз ящика:

use unicode_segmentation::UnicodeSegmentation;
fn main() {
    let ch = 'A';
    let lowercase_ch = ch.to_lowercase();
    println!("Lowercase: {}", lowercase_ch);
}

Выход:

Lowercase: a

В этой статье мы рассмотрели различные методы преобразования символов в нижний регистр в Rust. Мы рассмотрели встроенные функции, такие как to_lowercase()и to_ascii_lowercase(), а также использование сторонних ящиков, таких как unicode-segmentation. В зависимости от ваших конкретных требований вы можете выбрать метод, который лучше всего соответствует вашим потребностям. Приятного программирования на Rust!