Метод retain
Метод retain удаляет из строки String
все символы, для которых замыкание возвращает
false. Параметром метод принимает замыкание,
которое получает символ типа char и возвращает
bool. Символы, для которых замыкание вернуло
true, остаются в строке.
Синтаксис
string.retain(|c| условие)
Пример
Давайте удалим из строки "abcde" все символы,
кроме гласных:
fn main()
{
let mut res = String::from("abcde");
res.retain(|c| c == 'a' || c == 'e');
println!("{}", res);
}
Результат выполнения кода:
"ae"
Пример
Давайте удалим из строки "12345" все четные цифры:
fn main()
{
let mut res = String::from("12345");
res.retain(|c| c.to_digit(10).unwrap() % 2 != 0);
println!("{}", res);
}
Результат выполнения кода:
"135"