将字符串的首字母转换为大写的快速函数?
Quick function to convert a String's first letter to uppercase?
有谁知道将 String
的第一个字母改为大写的函数?
理想情况下,它会这样使用:
let newfoo = first_letter_to_uppper_case("foobar".to_string())
,或
let newfoo = "foobar".to_string().first_letter_to_uppper_case()
.
如果您想要这样使用函数:
let newfoo = first_letter_to_uppper_case("foobar".to_string())
尝试使用以下内容:
fn main() {
println!("{}", first_letter_to_uppper_case("foobar".to_string()));
}
fn first_letter_to_uppper_case (s1: String) -> String {
let mut c = s1.chars();
match c.next() {
None => String::new(),
Some(f) => f.to_uppercase().collect::<String>() + c.as_str(),
}
}
如果你想把它作为一个函数实现在字符串类型上,比如let newfoo = "foobar".to_string().first_letter_to_uppper_case()
,试试:
pub trait FirstLetterToUppperCase {
fn first_letter_to_uppper_case(self) -> String;
}
impl FirstLetterToUppperCase for String {
fn first_letter_to_uppper_case(self) -> String {
let mut c = self.chars();
match c.next() {
None => String::new(),
Some(f) => f.to_uppercase().collect::<String>() + c.as_str(),
}
}
}
fn main() {
println!("{}", "foobar".to_string().first_letter_to_uppper_case());
}
但是,这些函数不能很好地处理非ascii 字符。有关详细信息,请参阅
有谁知道将 String
的第一个字母改为大写的函数?
理想情况下,它会这样使用:
let newfoo = first_letter_to_uppper_case("foobar".to_string())
,或
let newfoo = "foobar".to_string().first_letter_to_uppper_case()
.
如果您想要这样使用函数:
let newfoo = first_letter_to_uppper_case("foobar".to_string())
尝试使用以下内容:
fn main() {
println!("{}", first_letter_to_uppper_case("foobar".to_string()));
}
fn first_letter_to_uppper_case (s1: String) -> String {
let mut c = s1.chars();
match c.next() {
None => String::new(),
Some(f) => f.to_uppercase().collect::<String>() + c.as_str(),
}
}
如果你想把它作为一个函数实现在字符串类型上,比如let newfoo = "foobar".to_string().first_letter_to_uppper_case()
,试试:
pub trait FirstLetterToUppperCase {
fn first_letter_to_uppper_case(self) -> String;
}
impl FirstLetterToUppperCase for String {
fn first_letter_to_uppper_case(self) -> String {
let mut c = self.chars();
match c.next() {
None => String::new(),
Some(f) => f.to_uppercase().collect::<String>() + c.as_str(),
}
}
}
fn main() {
println!("{}", "foobar".to_string().first_letter_to_uppper_case());
}
但是,这些函数不能很好地处理非ascii 字符。有关详细信息,请参阅