Function memchr::memrchr

source · []
pub fn memrchr(needle: u8, haystack: &[u8]) -> Option<usize>
Expand description

Search for the last occurrence of a byte in a slice.

This returns the index corresponding to the last occurrence of needle in haystack, or None if one is not found. If an index is returned, it is guaranteed to be less than usize::MAX.

While this is operationally the same as something like haystack.iter().rposition(|&b| b == needle), memrchr will use a highly optimized routine that can be up to an order of magnitude faster in some cases.

Example

This shows how to find the last position of a byte in a byte string.

use memchr::memrchr;

let haystack = b"the quick brown fox";
assert_eq!(memrchr(b'o', haystack), Some(17));