Преобразование строки в нижний регистр

Rust:
Преобразование строки в нижний регистр

Как это сделать:

fn main() {
    let greeting = "HeLLo, WoRlD!";
    let lowercase_greeting = greeting.to_lowercase();
    println!("{}", lowercase_greeting); // "hello, world!"
}

Вывод:

hello, world!

Подробнее

До метода .to_lowercase() разработчики на Rust могли использовать .to_ascii_lowercase() для той же задачи, который влиял только на символы ASCII. Стандартная библиотека Rust развивалась, предлагая .to_lowercase() для полной поддержки Юникода — это означает, что он может обрабатывать не только английский! Это очень важно, если ваше приложение выходит на более широкую, многоязычную аудиторию.

Что под капотом? На самом деле, метод to_lowercase() не просто заменяет ‘A’ на ‘a’. Это скорее маленький лингвист, знающий все о Юникоде. Он следует стандарту Юникода, чтобы правильно преобразовать символы в нижний регистр с учетом их культурных нюансов.

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

Смотрите также