Rust:
Поиск и замена текста
Как это делать:
fn main() {
let text = "Привет там!";
let updated_text = text.replace("там", "мир");
println!("{}", updated_text); // Выведет "Привет мир!"
}
Пример вывода:
Привет мир!
Глубокое погружение
Поиск и замена текста существуют с тех пор, как появились первые текстовые редакторы. Инструменты вроде sed в Unix сделали пакетную обработку текста обычной практикой.
Rust принимает эффективный, безопасный подход. Метод replace
из стандартной библиотеки типа str
прост в использовании и проверяется на этапе компиляции.
Альтернативы replace
включают в себя регулярные выражения для сложных шаблонов или итерацию символов для настройки логики замены.
Под капотом, replace
в Rust создаёт новую строку String
, итерирует через оригинал, находит соответствия, а затем конструирует новую строку с заменами. Он хорошо обрабатывает Unicode, что не является тривиальным.
Смотри также
- Документация Rust по
replace
: https://doc.rust-lang.org/std/primitive.str.html#method.replace - Контейнер Regex для более сложных случаев использования: https://crates.io/crates/regex
- Руководство по Sed для исторической справки: https://www.gnu.org/software/sed/manual/sed.html