# 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));