当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust char.to_uppercase用法及代码示例


本文简要介绍rust语言中 char.to_uppercase 的用法。

用法

pub fn to_uppercase(self) -> ToUppercase

返回一个迭代器,该迭代器将此 char 的大写映射生成为一个或多个 char

如果此 char 没有大写映射,则迭代器产生相同的 char

如果此 char 具有由 Unicode Character Database UnicodeData.txt 给出的一对一大写映射,则迭代器将生成 char

如果此 char 需要特殊考虑(例如,多个 char s),则迭代器产生由 SpecialCasing.txt 给出的 char (s)。

此操作执行无条件映射,无需剪裁。也就是说,转换与上下文和语言无关。

Unicode Standard 中,第 4 章(字符属性)一般讨论大小写映射,第 3 章(一致性)讨论大小写转换的默认算法。

例子

作为迭代器:

for c in 'ß'.to_uppercase() {
    print!("{}", c);
}
println!();

直接使用println!

println!("{}", 'ß'.to_uppercase());

两者都相当于:

println!("SS");

使用 to_string

assert_eq!('c'.to_uppercase().to_string(), "C");

// Sometimes the result is more than one character:
assert_eq!('ß'.to_uppercase().to_string(), "SS");

// Characters that do not have both uppercase and lowercase
// convert into themselves.
assert_eq!('山'.to_uppercase().to_string(), "山");

语言环境注意事项

在土耳其语中,相当于拉丁语中的'i' 有五种形式而不是两种形式:

  • 'Dotless':I /ı,有时写成 ï
  • 'Dotted':我/我

请注意,小写加点'i' 与拉丁文相同。所以:

let upper_i = 'i'.to_uppercase().to_string();

这里 upper_i 的值依赖于文本的语言:如果我们在 en-US 中,它应该是 "I" ,但如果我们在 tr_TR 中,它应该是 "İ"to_uppercase() 没有考虑到这一点,因此:

let upper_i = 'i'.to_uppercase().to_string();

assert_eq!(upper_i, "I");

跨语言持有。

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 char.to_uppercase。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。