Pular para o conteúdo principal

dividir

Divide a string em torno de correspondências do padrão fornecido.

Para a função Databricks SQL correspondente, consulte a funçãosplit.

Sintaxe

Python
from pyspark.databricks.sql import functions as dbf

dbf.split(str=<str>, pattern=<pattern>, limit=<limit>)

Parâmetros

Parâmetro

Tipo

Descrição

str

pyspark.sql.Column ou str

uma expressão de strings para dividir

pattern

pyspark.sql.Column ou literal string

uma sequência de caracteres representando uma expressão regular. As strings de regex devem ser expressões regulares Java . Aceito como uma representação de expressão regular, para fins de compatibilidade com versões anteriores. Além de int, limit agora aceita coluna e nome da coluna.

limit

pyspark.sql.Column ou str ou int

Um número inteiro que controla quantas vezes pattern é aplicado. _ limit > 0: O comprimento da matriz resultante não será maior que limit, e a última entrada da matriz resultante conterá todas as entradas além do último padrão correspondente. _ limit <= 0: pattern será aplicado quantas vezes for possível, e o array resultante poderá ter qualquer tamanho.

Devoluções

pyspark.sql.Column: matriz de strings separadas.

Exemplos

Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('oneAtwoBthreeC',)], ['s',])
df.select('*', dbf.split(df.s, '[ABC]')).show()
df.select('*', dbf.split(df.s, '[ABC]', 2)).show()
df.select('*', dbf.split('s', '[ABC]', -2)).show()
df = spark.createDataFrame([
('oneAtwoBthreeC', '[ABC]', 2),
('1A2B3C', '[1-9]+', 1),
('aa2bb3cc4', '[1-9]+', -1)], ['s', 'p', 'l'])
df.select('*', dbf.split(df.s, df.p)).show()
df.select(dbf.split('s', df.p, 'l')).show()