How to do it...

  1. Open the Cargo.toml file that has been generated earlier for you.

  2. In the bin folder, create a file called retain_string.rs.

  3. 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 .chars() 17 .filter(|c| *c != '_') 18 .collect(); 19 println!("Text filtered by an iterator: {}", filtered); 20 }
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.220.53.93