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


Rust str.match_indices用法及代码示例


用法

pub fn match_indices<'a, P>(&'a self, pat:P) -> MatchIndices<'a, P> where    P:Pattern<'a>,

此字符串切片中模式的不相交匹配以及匹配开始处的索引的迭代器。

对于self 内重叠的pat 匹配,仅返回与第一个匹配对应的索引。

该模式可以是 &strcharchar 的切片,或者确定字符是否匹配的函数或闭包。

迭代器行为

如果模式允许反向搜索并且正向/反向搜索产生相同的元素,则返回的迭代器将是 DoubleEndedIterator。这适用于例如 char ,但不适用于 &str

如果该模式允许反向搜索但其结果可能与正向搜索不同,则可以使用rmatch_indices 方法。

例子

基本用法:

let v:Vec<_> = "abcXXXabcYYYabc".match_indices("abc").collect();
assert_eq!(v, [(0, "abc"), (6, "abc"), (12, "abc")]);

let v:Vec<_> = "1abcabc2".match_indices("abc").collect();
assert_eq!(v, [(1, "abc"), (4, "abc")]);

let v:Vec<_> = "ababa".match_indices("aba").collect();
assert_eq!(v, [(0, "aba")]); // only the first `aba`

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 str.match_indices。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。