本文简要介绍rust语言中 slice.split
的用法。
用法
pub fn split<F>(&self, pred: F) -> Split<'_, T, F> where F: FnMut(&T) -> bool,
返回由匹配 pred
的元素分隔的子切片的迭代器。匹配的元素不包含在子切片中。
例子
let slice = [10, 40, 33, 20];
let mut iter = slice.split(|num| num % 3 == 0);
assert_eq!(iter.next().unwrap(), &[10, 40]);
assert_eq!(iter.next().unwrap(), &[20]);
assert!(iter.next().is_none());
如果第一个元素匹配,则空切片将是迭代器返回的第一项。同样,如果切片中的最后一个元素匹配,则空切片将是迭代器返回的最后一项:
let slice = [10, 40, 33];
let mut iter = slice.split(|num| num % 3 == 0);
assert_eq!(iter.next().unwrap(), &[10, 40]);
assert_eq!(iter.next().unwrap(), &[]);
assert!(iter.next().is_none());
如果两个匹配的元素直接相邻,则它们之间将出现一个空切片:
let slice = [10, 6, 33, 20];
let mut iter = slice.split(|num| num % 3 == 0);
assert_eq!(iter.next().unwrap(), &[10]);
assert_eq!(iter.next().unwrap(), &[]);
assert_eq!(iter.next().unwrap(), &[20]);
assert!(iter.next().is_none());
相关用法
- Rust slice.split_array_mut用法及代码示例
- Rust slice.splitn_mut用法及代码示例
- Rust slice.split_first用法及代码示例
- Rust slice.splitn用法及代码示例
- Rust slice.split_array_ref用法及代码示例
- Rust slice.split_inclusive用法及代码示例
- Rust slice.split_mut用法及代码示例
- Rust slice.split_last_mut用法及代码示例
- Rust slice.split_first_mut用法及代码示例
- Rust slice.split_at_mut用法及代码示例
- Rust slice.split_at_unchecked用法及代码示例
- Rust slice.split_at用法及代码示例
- Rust slice.split_at_mut_unchecked用法及代码示例
- Rust slice.split_inclusive_mut用法及代码示例
- Rust slice.split_last用法及代码示例
- Rust slice.sort_unstable_by_key用法及代码示例
- Rust slice.sort_unstable_by用法及代码示例
- Rust slice.sort用法及代码示例
- Rust slice.swap_unchecked用法及代码示例
- Rust slice.sort_by用法及代码示例
- Rust slice.swap_with_slice用法及代码示例
- Rust slice.swap用法及代码示例
- Rust slice.strip_suffix用法及代码示例
- Rust slice.select_nth_unstable用法及代码示例
- Rust slice.sort_unstable用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 slice.split。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。