當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。