本文簡要介紹rust語言中 str.rsplitn
的用法。
用法
pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P> where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,
此字符串切片的子字符串的迭代器,由模式分隔,從字符串的末尾開始,限製為最多返回 n
個項目。
如果返回 n
子字符串,則最後一個子字符串(第 n
個子字符串)將包含字符串的其餘部分。
pattern 可以是 &str
、 char
、 char
的切片,或者確定字符是否匹配的函數或閉包。
迭代器行為
返回的迭代器不會是雙端的,因為它的支持效率不高。
要從前麵拆分,可以使用 splitn
方法。
例子
簡單模式:
let v: Vec<&str> = "Mary had a little lamb".rsplitn(3, ' ').collect();
assert_eq!(v, ["lamb", "little", "Mary had a"]);
let v: Vec<&str> = "lionXXtigerXleopard".rsplitn(3, 'X').collect();
assert_eq!(v, ["leopard", "tiger", "lionX"]);
let v: Vec<&str> = "lion::tiger::leopard".rsplitn(2, "::").collect();
assert_eq!(v, ["leopard", "lion::tiger"]);
更複雜的模式,使用閉包:
let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
assert_eq!(v, ["ghi", "abc1def"]);
相關用法
- Rust str.rsplit_terminator用法及代碼示例
- Rust str.rsplit_once用法及代碼示例
- Rust str.rsplit用法及代碼示例
- Rust str.rmatches用法及代碼示例
- Rust str.rfind用法及代碼示例
- Rust str.repeat用法及代碼示例
- Rust str.replacen用法及代碼示例
- Rust str.rmatch_indices用法及代碼示例
- Rust str.replace用法及代碼示例
- Rust str.make_ascii_uppercase用法及代碼示例
- Rust str.strip_suffix用法及代碼示例
- Rust str.trim_left用法及代碼示例
- Rust str.char_indices用法及代碼示例
- Rust str.to_ascii_lowercase用法及代碼示例
- Rust str.trim用法及代碼示例
- Rust str.split_terminator用法及代碼示例
- Rust str.to_uppercase用法及代碼示例
- Rust str.starts_with用法及代碼示例
- Rust str.escape_default用法及代碼示例
- Rust str.trim_right用法及代碼示例
- Rust str.split_once用法及代碼示例
- Rust str.len用法及代碼示例
- Rust str.chars用法及代碼示例
- Rust str.trim_left_matches用法及代碼示例
- Rust str.eq_ignore_ascii_case用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 str.rsplitn。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。