2016-01-05 15 views

cevap

9

Sen std::str::replace başka içinde bir dize tüm oluşumları değiştirebilirsiniz: daha karmaşık vakalarda

let result = str::replace("Hello World!", "!", "?"); 
println!("{}", result); // => "Hello World!" 

, regex::Regex::replace_allregex dan kullanabilirsiniz: Eğer iterators ve match kullanabilirsiniz Ayrıca

use regex::Regex; 
let re = Regex::new(r"[A-Za-z]").unwrap(); 
let result = re.replace_all("Hello World!", "x"); 
println!("{}", result); // => "xxxxx xxxxx!" 
+5

Ayrıca, '/ str' gibi bir yöntem olarak' replace'ı çağırabilirsiniz, bunun gibi: 'result result = 'Merhaba Dünya!'. Değiştirin ("! ","? ");'. – Dogbert

+1

lütfen dikkat: Derleme genellikle pahalı olduğundan, aynı düzenli ifadeyi bir döngüde derlemek için bir anti-düzendir. Sandık açıklamasında ayrıntıları görün. –

7

ifade:

let s:String = "Hello, world!".chars() 
    .map(|x| match x { 
     '!' => '?', 
     'A'...'Z' => 'X', 
     'a'...'z' => 'x', 
     _ => x} 
    ).collect(); 
println!("{}", s);// Xxxxx, xxxxx? 
İlgili konular