Método nº 1: Usando split()
Usando a função split, podemos dividir uma string em uma lista de palavras, e este é o mais comum e método recomendado se alguém quiser concluir esta tarefa específica. Mas a desvantagem é que não funciona nos casos em que a string contém sinais de pontuação.
# Python3 demo code
< br> # extrair palavras da string
# usando split()
# string de inicialização
test_string
=
"Geeksforgeeks é o melhor Portal de Ciência da Computação"
# imprime a linha original
print
(
"A string original é:"
+
test_string)
# usando split ()
# extrai palavras da string
r es
=
test_string.split()
# imprime resultado
print
(
"A lista de palavras é:"
+
str
(res) )
Sair:
A string original é: Geeksforgeeks is best Computer Science Portal
O lista de palavras é: [`Geeksforgeeks`,` is`, `best`, `Computer`, `Science`, `Portal`]
Método nº 2: Usando regex (findall())
Nos casos que contêm todos os caracteres especiais e sinais de pontuação, como discutido acima, tr O método tradicional de procurar palavras em uma string usando divisão pode falhar e portanto, requer expressões regulares para realizar essa tarefa. A função findall
retorna uma lista após filtrar a string e extrair palavras, ignorando sinais de pontuação.
# Python3 demo code
# extrair palavras da string
# usando expressão regular (findall())
import
re
# inicializando string
test_string
=
"Geeksforgeeks , é o melhor @ # Portal de Ciência da Computação. !!!"
# imprime a linha original
print
(
"A string original é: "
+
test_string)
# usando expressão regular (findall())
# extrair palavras da string
res
=
re.findall (r
`w +`
, test_string)
# imprime resultado
print
(
"A lista de palavras é:"
+
str
(res))
Saída:
A string original é: Geeksforgeeks, é melhor @ # Portal de Ciência da Computação. !!!
A lista de palavras é: [`Geeksforgeeks`, `é`, `melhor`, `Computador `,` Ciência `,` Portal `]
Método nº 3: Usando regex() + string.punctuation
Este método também usa expressões regulares, mas a função get all pontuação string é usada para ignorar todas as pontuações e obter a string de resultado filtrada.
# código de demonstração Python3
# extrair palavras da string
< br> # usando regex() + string.punctuation
import
re
import
string
# inicializando string
test_string
=
" Geeksforgeeks, é o melhor @ # Portal de Ciência da Computação. !!! "
# imprime a string original
print
(
" A string original é: "
+
test_string)
# usando regex () + string.punctuation
# extrair palavras da string
res
=
re.sub (
`[`
+
string.punctuation
+
`] `
,` `, test_string ) .split()
# imprime resultado
print
(
"A lista de palavras é:"
+
str
( res))
Sair:
A string original é: Geeksforgeeks, é melhor @ # Portal de Ciência da Computação. !!!
A lista de palavras é: [`Geeksforgeeks`, `é`, `melhor`, `Computador`, `Ciência`, `Portal`]