polars.Expr.str.split_exact#
- Expr.str.split_exact(by: str, n: int, *, inclusive: bool = False) Expr [source]#
Split the string by a substring using
n
splits.Results in a struct of
n+1
fields.If it cannot make
n
splits, the remaining field elements will be null.- Parameters:
- by
Substring to split by.
- n
Number of splits to make.
- inclusive
If True, include the split character/string in the results.
- Returns:
Examples
>>> df = pl.DataFrame({"x": ["a_1", None, "c", "d_4"]}) >>> df.select( ... pl.col("x").str.split_exact("_", 1).alias("fields"), ... ) shape: (4, 1) ┌─────────────┐ │ fields │ │ --- │ │ struct[2] │ ╞═════════════╡ │ {"a","1"} │ │ {null,null} │ │ {"c",null} │ │ {"d","4"} │ └─────────────┘
Split string values in column x in exactly 2 parts and assign each part to a new column.
>>> df.with_columns( ... [ ... pl.col("x") ... .str.split_exact("_", 1) ... .struct.rename_fields(["first_part", "second_part"]) ... .alias("fields"), ... ] ... ).unnest("fields") shape: (4, 3) ┌──────┬────────────┬─────────────┐ │ x ┆ first_part ┆ second_part │ │ --- ┆ --- ┆ --- │ │ str ┆ str ┆ str │ ╞══════╪════════════╪═════════════╡ │ a_1 ┆ a ┆ 1 │ │ null ┆ null ┆ null │ │ c ┆ c ┆ null │ │ d_4 ┆ d ┆ 4 │ └──────┴────────────┴─────────────┘