当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。