本文簡要介紹rust語言中 str.find
的用法。
用法
pub fn find<'a, P>(&'a self, pat: P) -> Option<usize> where P: Pattern<'a>,
返回此字符串切片中與模式匹配的第一個字符的字節索引。
如果模式不匹配,則返回 None
。
pattern 可以是 &str
、 char
、 char
的切片,或者確定字符是否匹配的函數或閉包。
例子
簡單模式:
let s = "Löwe 老虎 Léopard Gepardi";
assert_eq!(s.find('L'), Some(0));
assert_eq!(s.find('é'), Some(14));
assert_eq!(s.find("pard"), Some(17));
使用 point-free 樣式和閉包的更複雜的模式:
let s = "Löwe 老虎 Léopard";
assert_eq!(s.find(char::is_whitespace), Some(5));
assert_eq!(s.find(char::is_lowercase), Some(1));
assert_eq!(s.find(|c: char| c.is_whitespace() || c.is_lowercase()), Some(1));
assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));
找不到模式:
let s = "Löwe 老虎 Léopard";
let x: &[_] = &['1', '2'];
assert_eq!(s.find(x), None);
相關用法
- 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.rmatches用法及代碼示例
- Rust str.trim_right用法及代碼示例
- Rust str.rsplit_terminator用法及代碼示例
- Rust str.rsplit_once用法及代碼示例
- Rust str.split_once用法及代碼示例
- Rust str.len用法及代碼示例
- Rust str.chars用法及代碼示例
- Rust str.trim_left_matches用法及代碼示例
- Rust str.rsplit用法及代碼示例
- Rust str.eq_ignore_ascii_case用法及代碼示例
- Rust str.rfind用法及代碼示例
- Rust str.is_ascii用法及代碼示例
- Rust str.trim_right_matches用法及代碼示例
- Rust str.strip_prefix用法及代碼示例
- Rust str.get_mut用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 str.find。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。