---
title: strings.lastIndex() function
description: strings.lastIndex() returns the index of the last instance of a substring in a string. If the substring is not present, the function returns -1.
url: https://docs.influxdata.com/flux/v0/stdlib/strings/lastindex/
estimated_tokens: 877
product: Flux
version: v0
publisher: InfluxData
canonical: https://docs.influxdata.com/flux/v0/stdlib/strings/lastindex/
date: '2024-04-08T16:01:02-06:00'
lastmod: '2024-04-08T16:01:02-06:00'
---

* Flux 0.18.0+

InfluxDB support

`strings.lastIndex()` returns the index of the last instance of a substring in a string.
If the substring is not present, the function returns -1.

##### Function type signature

```js
(substr: string, v: string) => int
```

For more information, see [Function type signatures](/flux/v0/function-type-signatures/).

## Parameters

### v

(Required)
String value to search.

### substr

(Required)
Substring to search for.

## Examples

### Find the index of the last occurrence of a substring

```js
import "sampledata"
import "strings"

sampledata.string()
    |> map(fn: (r) => ({r with _value: strings.lastIndex(v: r._value, substr: "g")}))
```

[](#view-example-input-and-output)

View example input and output

#### Input data

|       \_time       |\*tag|  \_value   |
|--------------------|-----|------------|
|2021-01-01T00:00:00Z| t1  |smpl\_g9qczs|
|2021-01-01T00:00:10Z| t1  |smpl\_0mgv9n|
|2021-01-01T00:00:20Z| t1  |smpl\_phw664|
|2021-01-01T00:00:30Z| t1  |smpl\_guvzy4|
|2021-01-01T00:00:40Z| t1  |smpl\_5v3cce|
|2021-01-01T00:00:50Z| t1  |smpl\_s9fmgy|

|       \_time       |\*tag|  \_value   |
|--------------------|-----|------------|
|2021-01-01T00:00:00Z| t2  |smpl\_b5eida|
|2021-01-01T00:00:10Z| t2  |smpl\_eu4oxp|
|2021-01-01T00:00:20Z| t2  |smpl\_5g7tz4|
|2021-01-01T00:00:30Z| t2  |smpl\_sox1ut|
|2021-01-01T00:00:40Z| t2  |smpl\_wfm757|
|2021-01-01T00:00:50Z| t2  |smpl\_dtn2bv|

#### Output data

|       \_time       |\_value|\*tag|
|--------------------|-------|-----|
|2021-01-01T00:00:00Z|   5   | t1  |
|2021-01-01T00:00:10Z|   7   | t1  |
|2021-01-01T00:00:20Z|  \-1  | t1  |
|2021-01-01T00:00:30Z|   5   | t1  |
|2021-01-01T00:00:40Z|  \-1  | t1  |
|2021-01-01T00:00:50Z|   9   | t1  |

|       \_time       |\_value|\*tag|
|--------------------|-------|-----|
|2021-01-01T00:00:00Z|  \-1  | t2  |
|2021-01-01T00:00:10Z|  \-1  | t2  |
|2021-01-01T00:00:20Z|   6   | t2  |
|2021-01-01T00:00:30Z|  \-1  | t2  |
|2021-01-01T00:00:40Z|  \-1  | t2  |
|2021-01-01T00:00:50Z|  \-1  | t2  |

#### Related

* [strings.index() function](/flux/v0/stdlib/strings/index-fn/)
* [strings.indexAny() function](/flux/v0/stdlib/strings/indexany/)
* [strings.lastIndexAny() function](/flux/v0/stdlib/strings/lastindexany/)
| _time | *tag | _value |
| --- | --- | --- |
| _time | *tag | _value |
| 2021-01-01T00:00:00Z | t1 | smpl_g9qczs |
| 2021-01-01T00:00:10Z | t1 | smpl_0mgv9n |
| 2021-01-01T00:00:20Z | t1 | smpl_phw664 |
| 2021-01-01T00:00:30Z | t1 | smpl_guvzy4 |
| 2021-01-01T00:00:40Z | t1 | smpl_5v3cce |
| 2021-01-01T00:00:50Z | t1 | smpl_s9fmgy |

| _time | *tag | _value |
| --- | --- | --- |
| _time | *tag | _value |
| 2021-01-01T00:00:00Z | t2 | smpl_b5eida |
| 2021-01-01T00:00:10Z | t2 | smpl_eu4oxp |
| 2021-01-01T00:00:20Z | t2 | smpl_5g7tz4 |
| 2021-01-01T00:00:30Z | t2 | smpl_sox1ut |
| 2021-01-01T00:00:40Z | t2 | smpl_wfm757 |
| 2021-01-01T00:00:50Z | t2 | smpl_dtn2bv |

| _time | _value | *tag |
| --- | --- | --- |
| _time | _value | *tag |
| 2021-01-01T00:00:00Z | 5 | t1 |
| 2021-01-01T00:00:10Z | 7 | t1 |
| 2021-01-01T00:00:20Z | -1 | t1 |
| 2021-01-01T00:00:30Z | 5 | t1 |
| 2021-01-01T00:00:40Z | -1 | t1 |
| 2021-01-01T00:00:50Z | 9 | t1 |

| _time | _value | *tag |
| --- | --- | --- |
| _time | _value | *tag |
| 2021-01-01T00:00:00Z | -1 | t2 |
| 2021-01-01T00:00:10Z | -1 | t2 |
| 2021-01-01T00:00:20Z | 6 | t2 |
| 2021-01-01T00:00:30Z | -1 | t2 |
| 2021-01-01T00:00:40Z | -1 | t2 |
| 2021-01-01T00:00:50Z | -1 | t2 |
