replace(col, search, replace)
Описание
Функция replace()
заменяет все вхождения подстроки search
на подстроку replace
в строке.
Параметры
col
: Column - столбец со строками для заменыsearch
: String - подстрока, которую нужно заменитьreplace
: String - подстрока, на которую нужно заменить
Возвращаемое значение
String - строка с выполненными заменами
Пример использования
from pyspark.sql.functions import replace
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("replace_example").getOrCreate()
# Создаем DataFrame
data = [
("hello world"),
("hello spark"),
("hello pyspark")
]
df = spark.createDataFrame(data, ["text"])
# Заменяем "hello" на "hi"
result = df.select(
"text",
replace("text", "hello", "hi").alias("replaced_text")
).show()
# Результат:
# +------------+-------------+
# |text |replaced_text|
# +------------+-------------+
# |hello world |hi world |
# |hello spark |hi spark |
# |hello pyspark|hi pyspark |
# +------------+-------------+
Примечания
- Функция чувствительна к регистру
- NULL значения возвращают NULL
- Если
search
не найден в строке, строка возвращается без изменений - Для замены по регулярному выражению используйте
regexp_replace()
- Для замены только первого вхождения используйте
regexp_replace()
с флагом '1'