Python | Extrair palavras de uma determinada string

| | | | | | | | | | | | | | | | | | |

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`]