pub trait AsciiExt {
type Owned;
// Required methods
fn is_ascii(&self) -> bool;
fn to_ascii_uppercase(&self) -> Self::Owned;
fn to_ascii_lowercase(&self) -> Self::Owned;
fn eq_ignore_ascii_case(&self, other: &Self) -> bool;
fn make_ascii_uppercase(&mut self);
fn make_ascii_lowercase(&mut self);
}
Expand description
仅 ASCII 子集操作的扩展方法。
请注意,对看似非 ASCII 字符的操作有时会产生意外结果。考虑以下示例:
use std::ascii::AsciiExt;
assert_eq!(AsciiExt::to_ascii_uppercase("café"), "CAFÉ");
assert_eq!(AsciiExt::to_ascii_uppercase("café"), "CAFé");
Run在第一个示例中,小写的字符串表示为 "cafe\u{301}"
(最后一个字符为重音符 组合字符)。与字符串中的其他字符不同,组合字符不会映射到大写变体,从而导致 "CAFE\u{301}"
。在第二个示例中,小写的字符串表示为 "caf\u{e9}"
(最后一个字符是单个 Unicode 字符,表示带有尖音的 ‘e’)。
由于最后一个字符是在 ASCII 的作用域之外定义的,因此它不会被映射到大写变体,从而导致 "CAF\u{e9}"
。
Required Associated Types§
Required Methods§
sourcefn to_ascii_uppercase(&self) -> Self::Owned
fn to_ascii_uppercase(&self) -> Self::Owned
使值的副本等效于其 ASCII 大写字母。
ASCII 字母 ‘a’ 到 ‘z’ 映射到 ‘A’ 到 ‘Z’,但是非 ASCII 字母不变。
要就地将值大写,请使用 make_ascii_uppercase
。
要除非 ASCII 字符外还使用大写 ASCII 字符,请使用 str::to_uppercase
。
Note
不推荐使用此方法,而推荐使用 u8
,char
,[u8]
和 str
上相同名称的固有方法。
sourcefn to_ascii_lowercase(&self) -> Self::Owned
fn to_ascii_lowercase(&self) -> Self::Owned
以等效的 ASCII 小写形式复制值。
ASCII 字母 ‘A’ 到 ‘Z’ 映射到 ‘a’ 到 ‘z’,但是非 ASCII 字母不变。
要就地小写该值,请使用 make_ascii_lowercase
。
要除非 ASCII 字符外还使用小写 ASCII 字符,请使用 str::to_lowercase
。
Note
不推荐使用此方法,而推荐使用 u8
,char
,[u8]
和 str
上相同名称的固有方法。
sourcefn eq_ignore_ascii_case(&self, other: &Self) -> bool
fn eq_ignore_ascii_case(&self, other: &Self) -> bool
检查两个值是否为 ASCII 不区分大小写的匹配。
与 to_ascii_lowercase(a) == to_ascii_lowercase(b)
相同,但不分配和复制临时文件。
Note
不推荐使用此方法,而推荐使用 u8
,char
,[u8]
和 str
上相同名称的固有方法。
1.9.0 · sourcefn make_ascii_uppercase(&mut self)
fn make_ascii_uppercase(&mut self)
将此类型就地转换为其 ASCII 大写等效项。
ASCII 字母 ‘a’ 到 ‘z’ 映射到 ‘A’ 到 ‘Z’,但是非 ASCII 字母不变。
要返回新的大写值而不修改现有值,请使用 to_ascii_uppercase
。
Note
不推荐使用此方法,而推荐使用 u8
,char
,[u8]
和 str
上相同名称的固有方法。
1.9.0 · sourcefn make_ascii_lowercase(&mut self)
fn make_ascii_lowercase(&mut self)
将此类型就地转换为其 ASCII 小写等效项。
ASCII 字母 ‘A’ 到 ‘Z’ 映射到 ‘a’ 到 ‘z’,但是非 ASCII 字母不变。
要返回新的小写值而不修改现有值,请使用 to_ascii_lowercase
。
Note
不推荐使用此方法,而推荐使用 u8
,char
,[u8]
和 str
上相同名称的固有方法。