Resumo : neste tutorial, você aprenderá como usar a split()
função regex do Python para dividir uma string nas ocorrências de correspondências de uma expressão regular.
Introdução à função Python regex split()
O módulo integrado re
fornece a split()
função que divide uma string pelas correspondências de uma expressão regular .
A split()
função possui a seguinte sintaxe:
split(pattern, string, maxsplit=0, flags=0)
Nesta sintaxe:
pattern
é uma expressão regular cujas correspondências serão usadas como separadores para divisão.string
é uma string de entrada para dividir.maxsplit
determina no máximo que as divisões ocorrem. Geralmente, semaxsplit
for um, a lista resultante terá dois elementos. Semaxsplit
for dois, a lista resultante terá três elementos e assim por diante.flags
O parâmetro é opcional e o padrão é zero. Oflags
parâmetro aceita um ou mais sinalizadores regex . Oflags
parâmetro altera a forma como o mecanismo regex corresponde ao padrão.
A split()
função retorna uma lista de substrings divididas pelas correspondências do padrão na string.
Se pattern
contiver um ou mais grupos de captura , a split()
função retornará o texto de todos os grupos como elementos da lista resultante.
Se pattern
contiver um grupo de captura que corresponda ao início de uma string, a split()
função retornará uma lista resultante com o primeiro elemento sendo uma string vazia. Essa lógica é a mesma para o final da string.
Exemplos de função Python regex split()
Vejamos alguns exemplos de uso da split()
função regex.
1) Usando a função split() para dividir palavras em uma frase
O exemplo a seguir usa a split()
função para dividir as palavras em uma frase:
import re
s = 'A! B. C D'
pattern = r'\W+'
l = re.split(pattern, s)
print(l)
Linguagem de código: JavaScript ( javascript )
Neste exemplo, \W+
é o inverso do conjunto de caracteres de palavra que corresponde a um ou mais caracteres que não são caracteres de palavra.
Saída:
['A', 'B', 'C', 'D']
Linguagem de código: JSON/JSON com comentários ( json )
2) Usando a função split() com o argumento maxsplit
O exemplo a seguir usa a split()
função que divide uma string com duas divisões em caracteres que não sejam palavras:
import re
s = 'A! B. C D'
pattern = r'\W+'
l = re.split(pattern, s, 2)
print(l)
Linguagem de código: JavaScript ( javascript )
Saída:
['A', 'B', 'C D']
Linguagem de código: JSON/JSON com comentários ( json )
Como dividimos a string com duas divisões, a lista resultante contém três elementos. Observe que a split()
função retorna o restante de uma string como elemento final na lista resultante.
3) Usando a função split() com um grupo de captura
O exemplo a seguir usa a split()
função que divide uma string com o \W+
padrão que contém um grupo de captura:
import re
s = 'A! B. C D'
pattern = r'(\W+)'
l = re.split(pattern, s, 2)
print(l)
Linguagem de código: JavaScript ( javascript )
Saída:
['A', '! ', 'B', '. ', 'C D']
Linguagem de código: JSON/JSON com comentários ( json )
Neste exemplo, a split()
função também retorna o texto do grupo na lista resultante.
4) Usando a função split()
O exemplo a seguir usa a split()
função onde o separador contém um grupo de captura que corresponde ao início da string:
import re
s = '...A! B. C D'
pattern = r'\W+'
l = re.split(pattern, s)
print(l)
Linguagem de código: JavaScript ( javascript )
Neste caso, a split()
função retorna uma lista com o primeiro elemento sendo uma string vazia:
['', 'A', 'B', 'C', 'D']
Linguagem de código: JSON/JSON com comentários ( json )
Da mesma forma, se o separador contiver os grupos de captura e corresponder ao final da string, a lista resultante terá o último elemento como uma string vazia:
import re
s = 'A! B. C D...'
pattern = r'\W+'
l = re.split(pattern, s)
print(l)
Linguagem de código: JavaScript ( javascript )
Saída:
['A', 'B', 'C', 'D', '']
Linguagem de código: JSON/JSON com comentários ( json )
Resumo
- Use a
split()
função regex do Python para dividir uma string usando separadores como correspondências de uma expressão regular.