polars.Series.str.replace_all
-
Заменяет все совпадающие подстроки, соответствующие регулярному выражению или буквальному шаблону, новым строковым значением.
- Параметры:
-
- pattern
-
Допустимый шаблон регулярного выражения, совместимый с библиотекой regex.
- value
-
Строка, которой будет заменена совпавшая подстрока.
- literal
-
Рассматривать
patternкак буквальную строку, а не как регулярное выражение.
См. также
Примечания
- Чтобы изменить поведение регулярного выражения (например, чувствительность к регистру) с помощью флагов, используйте встроенный синтаксис
(?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" ]
Series.str.replace_all(
pattern: str,
value: str,
*,
literal: bool = False,
) → Series
© 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