Count all successive non-overlapping regex matches
Description
Count all successive non-overlapping regex matches
Usage
<Expr>$str$count_matches(pattern, ..., literal = FALSE)
Arguments
pattern
|
A character or something can be coerced to a string Expr of a valid regex pattern, compatible with the regex crate. |
…
|
Ignored. |
literal
|
Logical. If TRUE (default), treat pattern as a
literal string, not as a regular expression.
|
Value
Expr of data type UInt32
. Returns null
if the
original value is null
.
Examples
library("polars")
df = pl$DataFrame(foo = c("12 dbc 3xy", "cat\\w", "1zy3\\d\\d", NA))
df$with_columns(
count_digits = pl$col("foo")$str$count_matches(r"(\d)"),
count_slash_d = pl$col("foo")$str$count_matches(r"(\d)", literal = TRUE)
)
#> shape: (4, 3)
#> ┌────────────┬──────────────┬───────────────┐
#> │ foo ┆ count_digits ┆ count_slash_d │
#> │ --- ┆ --- ┆ --- │
#> │ str ┆ u32 ┆ u32 │
#> ╞════════════╪══════════════╪═══════════════╡
#> │ 12 dbc 3xy ┆ 3 ┆ 0 │
#> │ cat\w ┆ 0 ┆ 0 │
#> │ 1zy3\d\d ┆ 2 ┆ 2 │
#> │ null ┆ null ┆ null │
#> └────────────┴──────────────┴───────────────┘