繁体   English   中英

在 Rust 中将字符串转换为大写的最简单方法是什么?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM