Метод escape_debug
Метод escape_debug возвращает итератор, который при обходе выдаёт символы строки, экранированные так же, как при отладочном выводе через {:?}. Это удобно для получения читаемого представления строки, содержащей управляющие символы, кавычки и другие специальные символы. Параметров метод не принимает, а возвращает значение типа EscapeDebug, которое реализует трейт Iterator.
Синтаксис
str.escape_debug()
Пример
Давайте получим экранированное представление строки с символом новой строки и соберём результат в новую строку:
fn main()
{
let s = "abc\nde";
let res: String = s.escape_debug().collect();
println!("{}", res);
}
Результат выполнения кода:
abc\nde
Пример
Давайте сравним обычный вывод строки и результат работы метода escape_debug для строки с двойными кавычками и обратным слешем:
fn main()
{
let s = "abc\"de\\f";
let res: String = s.escape_debug().collect();
println!("{}", res);
}
Результат выполнения кода:
abc\"de\\f
Пример
Давайте посмотрим, как метод escape_debug экранирует символ табуляции и возврат каретки:
fn main()
{
let s = "12\t34\r5";
let res: String = s.escape_debug().collect();
println!("{}", res);
}
Результат выполнения кода:
12\t34\r5
Смотрите также
-
метод
escape_default,
который экранирует символы по правилам литералов Rust -
метод
escape_unicode,
который экранирует символы в виде Unicode-последовательностей -
метод
chars,
который возвращает итератор по символам строки -
метод
bytes,
который возвращает итератор по байтам строки