當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust str.find用法及代碼示例


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