---
title: strings.countStr() function
description: strings.countStr() counts the number of non-overlapping instances of a substring appears in a string.
url: https://docs.influxdata.com/flux/v0/stdlib/strings/countstr/
estimated_tokens: 826
product: Flux
version: v0
publisher: InfluxData
canonical: https://docs.influxdata.com/flux/v0/stdlib/strings/countstr/
date: '2024-04-08T16:01:02-06:00'
lastmod: '2024-04-08T16:01:02-06:00'
---

* Flux 0.18.0+

InfluxDB support

`strings.countStr()` counts the number of non-overlapping instances of a substring appears in a string.

##### 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 count occurrences of.

The function counts only non-overlapping instances of `substr`.

## Examples

### Count instances of a substring within a string

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

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

[](#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|   1   | t1  |
|2021-01-01T00:00:10Z|   1   | t1  |
|2021-01-01T00:00:20Z|   2   | t1  |
|2021-01-01T00:00:30Z|   1   | t1  |
|2021-01-01T00:00:40Z|   1   | t1  |
|2021-01-01T00:00:50Z|   1   | t1  |

|       \_time       |\_value|\*tag|
|--------------------|-------|-----|
|2021-01-01T00:00:00Z|   1   | t2  |
|2021-01-01T00:00:10Z|   2   | t2  |
|2021-01-01T00:00:20Z|   1   | t2  |
|2021-01-01T00:00:30Z|   1   | t2  |
|2021-01-01T00:00:40Z|   1   | t2  |
|2021-01-01T00:00:50Z|   1   | t2  |
| _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 | 1 | t1 |
| 2021-01-01T00:00:10Z | 1 | t1 |
| 2021-01-01T00:00:20Z | 2 | t1 |
| 2021-01-01T00:00:30Z | 1 | t1 |
| 2021-01-01T00:00:40Z | 1 | t1 |
| 2021-01-01T00:00:50Z | 1 | t1 |

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