contains(left, right)
Описание
Функция contains()
проверяет, содержит ли строка left
подстроку right
. Возвращает true
, если подстрока найдена, и false
в противном случае.
Параметры
left
: string или Column - строка, в которой ищется подстрокаright
: string или Column - подстрока, которую нужно найти
Возвращаемое значение
Boolean - true
, если подстрока найдена, false
в противном случае
Пример использования
from pyspark.sql.functions import contains
# Создаем DataFrame
df = spark.createDataFrame([
("Hello World", "World"),
("Hello World", "world"),
("Hello World", "Hello"),
("Hello World", "Python"),
("Hello World", None),
(None, "World")
], ["text", "substring"])
# Проверяем наличие подстрок
df.select(
"text",
"substring",
contains("text", "substring").alias("contains")
).show()
# Результат:
# +-----------+---------+--------+
# | text|substring|contains|
# +-----------+---------+--------+
# |Hello World| World| true| # Подстрока найдена
# |Hello World| world| false| # Регистр имеет значение
# |Hello World| Hello| true| # Подстрока найдена
# |Hello World| Python| false| # Подстрока не найдена
# |Hello World| null| null| # NULL в подстроке
# | null| World| null| # NULL в основном тексте
# +-----------+---------+--------+
Примечания
- Поиск чувствителен к регистру
- Если любой из аргументов NULL, результат NULL
- Функция эквивалентна использованию оператора
instr() > 0
- Для поиска без учета регистра используйте
ilike()
- Для поиска с использованием регулярных выражений используйте
rlike()