本文简要介绍rust语言中 str.splitn
的用法。
用法
pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P> where P: Pattern<'a>,
给定字符串切片的子字符串的迭代器,由模式分隔,限制为最多返回 n
个项目。
如果返回 n
子字符串,则最后一个子字符串(第 n
个子字符串)将包含字符串的其余部分。
pattern 可以是 &str
、 char
、 char
的切片,或者确定字符是否匹配的函数或闭包。
迭代器行为
返回的迭代器不会是双端的,因为它的支持效率不高。
如果模式允许反向搜索,则可以使用 rsplitn
方法。
例子
简单模式:
let v: Vec<&str> = "Mary had a little lambda".splitn(3, ' ').collect();
assert_eq!(v, ["Mary", "had", "a little lambda"]);
let v: Vec<&str> = "lionXXtigerXleopard".splitn(3, "X").collect();
assert_eq!(v, ["lion", "", "tigerXleopard"]);
let v: Vec<&str> = "abcXdef".splitn(1, 'X').collect();
assert_eq!(v, ["abcXdef"]);
let v: Vec<&str> = "".splitn(1, 'X').collect();
assert_eq!(v, [""]);
更复杂的模式,使用闭包:
let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
assert_eq!(v, ["abc", "defXghi"]);
相关用法
- Rust str.split_terminator用法及代码示例
- Rust str.split_once用法及代码示例
- Rust str.split_inclusive用法及代码示例
- Rust str.split用法及代码示例
- Rust str.split_whitespace用法及代码示例
- Rust str.split_at_mut用法及代码示例
- Rust str.split_ascii_whitespace用法及代码示例
- Rust str.split_at用法及代码示例
- Rust str.strip_suffix用法及代码示例
- Rust str.starts_with用法及代码示例
- Rust str.strip_prefix用法及代码示例
- Rust str.slice_unchecked用法及代码示例
- Rust str.make_ascii_uppercase用法及代码示例
- Rust str.trim_left用法及代码示例
- Rust str.char_indices用法及代码示例
- Rust str.to_ascii_lowercase用法及代码示例
- Rust str.trim用法及代码示例
- Rust str.to_uppercase用法及代码示例
- Rust str.escape_default用法及代码示例
- Rust str.rmatches用法及代码示例
- Rust str.trim_right用法及代码示例
- Rust str.rsplit_terminator用法及代码示例
- Rust str.rsplit_once用法及代码示例
- Rust str.len用法及代码示例
- Rust str.chars用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 str.splitn。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。