[英]What is the simplest way to convert a string to upper case in Rust?
我一直在研究如何在 Rust 中將字符串轉換為大寫。 到目前為止,我想出的最佳方法是:
let s = "smash";
let asc = s.to_ascii().to_upper();
println!("Hulk {:s}", asc.as_str_ascii());
有沒有更簡潔的方法來做到這一點?
注意:這個問題專門針對 Rust 0.9。 在詢問時還有另一個相關的答案可用,但它是針對 Rust 0.8 的,它具有顯着的語法差異,因此不適用。
如果你使用std::string::String
類型而不是&str
,那么Unicode支持的額外好處就是一種不那么冗長的方式:
fn main() {
let test_str = "übercode"; // type &str
let uppercase_test_string = test_str.to_uppercase(); // type String
let uppercase_test_str = uppercase_test_string.as_str(); // back to type &str
println!{"{}", test_str};
println!{"{}", uppercase_test_string};
println!{"{}", uppercase_test_str};
}
我認為推薦的方法是使用String::to_ascii_uppercase
:
fn main() {
let r = "smash".to_ascii_uppercase();
println!("Hulk {}!", r); // Hulk SMASH!
//or one liner
println!("Hulk {}!", "smash".to_ascii_uppercase());
}
在 Rust 1.2.0 中,添加了str::to_uppercase()
。
fn main() {
let s = "smash";
println!("Hulk {}", s.to_uppercase());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.