Spec-Zone.ru › Polars

polars.Series.str.replace_all

Series.str.replace_all(
    pattern: str,
    value: str,
    *,
    literal: bool = False,
) → Series

Заменяет все совпадающие подстроки, соответствующие регулярному выражению или буквальному шаблону, новым строковым значением.

Параметры:
pattern

Допустимый шаблон регулярного выражения, совместимый с библиотекой regex.

value

Строка, которой будет заменена совпавшая подстрока.

literal

Рассматривать pattern как буквальную строку, а не как регулярное выражение.

См. также

replace

Примечания

  • Чтобы изменить поведение регулярного выражения (например, чувствительность к регистру) с помощью флагов, используйте встроенный синтаксис (?iLmsuxU). (Дополнительные сведения об использовании встроенных модификаторов выражений см. в разделе библиотеки regex о группировке и флагах.)
  • Знак доллара ($) — это специальный символ, связанный с группами захвата; если вы хотите заменить целевой шаблон символами, содержащими буквальный $, экранируйте его, продублировав: $$, либо задайте literal=True, если вам не требуется полное совпадение с шаблоном регулярного выражения. В противном случае вы будете ссылаться на группу захвата, которая может не существовать.

    В примере ниже знак $ нужно продублировать (чтобы представить буквальный знак доллара), а затем сослаться на группу захвата с помощью $n или ${n}, поэтому в заменяющем значении стоят три символа $ подряд:

    >>> s = pl.Series("cost", ["#12.34", "#56.78"])
    >>> s.str.replace_all(r"#(\d+)", "$$${1}").alias("cost_usd")
    shape: (2,)
    Series: 'cost_usd' [str]
    [
        "$12.34"
        "$56.78"
    ]
    

Примеры

>>> s = pl.Series(["123abc", "abc456"])
>>> s.str.replace_all(r"abc\b", "ABC")
shape: (2,)
Series: '' [str]
[
    "123ABC"
    "abc456"
]

Группы захвата поддерживаются. Используйте $1 или ${1} в строке value, чтобы сослаться на первую группу захвата в pattern, $2 или ${2} — на вторую группу захвата и так далее. Также можно использовать именованные группы захвата.

>>> s = pl.Series(["hat", "hut"])
>>> s.str.replace_all("h(.)t", "b${1}d")
shape: (2,)
Series: '' [str]
[
    "bad"
    "bud"
]
>>> s.str.replace_all("h(?<vowel>.)t", "b${vowel}d")
shape: (2,)
Series: '' [str]
[
    "bad"
    "bud"
]

Выполните замену строк без учета регистра с помощью флага (?i).

>>> s = pl.Series("weather", ["Foggy", "Rainy", "Sunny"])
>>> s.str.replace_all(r"(?i)foggy|rainy", "Sunny")
shape: (3,)
Series: 'weather' [str]
[
    "Sunny"
    "Sunny"
    "Sunny"
]

© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/series/api/polars.Series.str.replace_all.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API