-
Open the Cargo.toml file that has been generated earlier for you.
-
In the bin folder, create a file called retain_string.rs.
-
Add the following code, and run it with cargo run --bin retain_string:
1 #![feature(string_retain)] 2 3 fn main() { 4 let mut some_text = "H_el_l__o_ ___Wo_r__l_d_".to_string(); 5 println!("Original text: {}", some_text); 6 // retain() removes all chars that don't fulfill a 7 // predicate in place, making it very efficient 8 some_text.retain(|c| c != '_'); 9 println!("Text without underscores: {}", some_text); 10 some_text.retain(char::is_lowercase); 11 println!("Text with only lowercase letters: {}", some_text); 12 13 // Before retain, you had to filter the string as an iterator
over chars 14 // This will however create a new String, generating overhead 15 let filtered: String = "H_el_l__o_ ___Wo_r__l_d_" 16 ...