Rust: как пересобрать строку и добавить экранирование к каждому символу строки?
Как лучше добавить к каждому символу в строке экранирование "\" ? Пройти строку в цикле, получим посимвольное ее, а как добавить к каждому символу "\" и снова собрать все в строку?
Ответы (2 шт):
Автор решения: rotabor
→ Ссылка
А где-то поискать самому? Первое, что попалось: Создание функции на Rust, которая возвращает String или &str.
Берём оттуда кусок кода и переделываем:
fn total_escaping(input: &str) -> String {
let mut buf = String::with_capacity(2 * input.len());
for c in input.chars() {
buf.push('\');
buf.push(c);
}
}
Но я очень подозреваю, что должна быть стандартная функция, которая экранирует все нуждающиеся в этом символы.
Вот, что-то нашёл Function escape_string::escape
Автор решения: Dima
→ Ссылка
Сделал все через цикл и посимвольное чтение. Да и как-то проще все должно быть.
let mut string = String::new();
for i in hostname.chars() {
string.push('\\');
string.push(i);
}
print!("{}", string);