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