# xarray.core.accessor_str.StringAccessor.rfind

#### StringAccessor.rfind(sub, start=0, end=None)[[source]](https://github.com/pydata/xarray/blob/main/xarray/core/accessor_str.py#L1813-L1843)

Return highest indexes of a substring in each string in the array.

Return the indexes where the substring is fully contained between
[start:end]. Return -1 on failure.

If start, end, or ‘sub\` is array-like, they are broadcast
against the array and applied elementwise.

* **Parameters:**
  * **sub** ([`str`](https://docs.python.org/3/builtins/stdtypes.html#str) or [array-like](https://numpy.org/doc/stable/glossary.html#term-array_like) of [`str`](https://docs.python.org/3/builtins/stdtypes.html#str)) – Substring being searched.
    If array-like, it is broadcast.
  * **start** ([`int`](https://docs.python.org/3/builtins/functions.html#int) or [array-like](https://numpy.org/doc/stable/glossary.html#term-array_like) of [`int`](https://docs.python.org/3/builtins/functions.html#int)) – Left edge index.
    If array-like, it is broadcast.
  * **end** ([`int`](https://docs.python.org/3/builtins/functions.html#int) or [array-like](https://numpy.org/doc/stable/glossary.html#term-array_like) of [`int`](https://docs.python.org/3/builtins/functions.html#int)) – Right edge index.
    If array-like, it is broadcast.
* **Returns:**
  **found** ([array](https://numpy.org/doc/stable/glossary.html#term-array) of [`int`](https://docs.python.org/3/builtins/functions.html#int))
