Como dividir uma string em Python
Dividir uma string em Python é muito simples. Você pode conseguir isso usando a função interna "split ()" do Python.
O método split () em Python separa cada palavra em uma string usando uma vírgula, transformando-a em uma lista de palavras. Este guia irá guiá-lo pelas várias maneiras de dividir uma string em Python.
Como usar o método de divisão do Python
Conforme mencionado anteriormente, por padrão, a função split () integrada do Python divide uma string em palavras individuais separadas por vírgulas. Mas ele aceita dois argumentos opcionais, e esta é a aparência da sintaxe:
string.split([separatng criteria], [break point or max_split])
Quando você especifica um critério de separação , a função localiza esses critérios na string e inicia uma divisão nesse ponto. Caso contrário, por padrão, ele divide a string em qualquer lugar que haja um espaço em branco.
Dê uma olhada no exemplo abaixo para ver como isso funciona. Aqui, os espaços em branco são os critérios de separação por padrão, uma vez que não especificamos um:
myTexts = 'How to split a text in Python'
splitString = myTexts.split()
print(splitString)
Output: ['How', 'to', 'split', 'a', 'text', 'in', 'Python']
Vamos ver como o método split () funciona quando você especifica os critérios de separação. Neste exemplo, uma vírgula é o critério de separação:
myTexts = 'How to split, a text in, Python'
print(myTexts.split(", "))
Para uma melhor compreensão, o código de exemplo abaixo divide as strings onde quer que haja um ponto. Portanto, os pontos aqui são os critérios de separação:
myTexts = 'How to split.a text in.Python'
print(myTexts.split("."))
Output: ['How to split', 'a text in', 'Python']
max_split é um inteiro que especifica o número máximo de quebras em uma string. Mais importante ainda, indica o ponto onde a corda se quebra.
Portanto, você pode incluir esse valor entre parênteses para quebrar a string em pontos específicos.
Por exemplo, o código abaixo divide os textos em dois e para na segunda vírgula:
myTexts = 'How, to, split, a, text, in, Python'
print(myTexts.split(", ", 2))
Output: ['How', 'to', 'split, a, text, in, Python']
Para ver como isso funciona, separe a string no código abaixo, fazendo-a parar no segundo ponto:
myTexts = 'How.to split.a text.in.Python'
print(myTexts.split(".", 2))
Output: ['How', 'to split', 'a text.in.Python']
Embora o método split () não divida as strings em alfabetos, você pode fazer isso usando o loop for :
myTexts = 'How to split a text in Python'
Alphabets = []
for each in myTexts:
alphas = each
Alphabets.append(alphas)
print(Alphabets)
Em vez de anexar a uma lista como fizemos no código acima, você pode encurtar o código usando uma compreensão de lista :
y = [each for each in myTexts]
print(y)
Crie um contador de palavras com a função de divisão do Python
Você pode usar Python split () de várias maneiras. Por exemplo, você pode contar o número de palavras depois de dividir cada string:
myTexts = 'How to split a text in Python'
print(len(myTexts.split()))
Output: 7
Modifique o código acima para contar as palavras em um arquivo separado. Você pode criar uma função para fazer isso. Mas aqui, você precisa abrir e ler o arquivo que contém o texto.
Em seguida, divida o texto primeiro e execute uma contagem retornando o comprimento da divisão resultante usando a função len () integrada:
def countWords(file):
myFile = open(file, 'r')
File = myFile.read()
splitString = File.split()
return len(splitString)
print(countWords('[Path to Yourfile.txt]'))
Embora seja um pouco complicado, você também pode fazer isso usando apenas o loop for :
def countWords(file):
myFile = open(file, 'r')
File = myFile.read()
File = [File]
for files in File:
return files.count(' ') + 1
print(countWords('[Path to Yourfile.txt]'))
Para fazer o loop for ler cada palavra separadamente, você deve inserir seu arquivo em uma lista separada, como fizemos no código acima. Além disso, reforce a contagem de palavras deixando um espaço entre as aspas vazias entre parênteses. Caso contrário, ele fornecerá a saída errada.
Portanto, o código funciona contando os espaços entre cada palavra e, em seguida, adicionando 1 a toda a contagem para obter o número real de palavras.
Simplifique Seu Código
A função split () é uma ferramenta Python valiosa e, como você viu, você pode usá-la para contar as palavras em um arquivo. Você pode até mesmo resolver outros problemas como desejar. Existem muitas outras funções integradas em Python como esta que simplificam operações complexas de forma rápida e eficiente.
Portanto, em vez de escrever longos blocos de código, é sempre útil tentar métodos integrados mais eficientes, simples e rápidos para resolver vários problemas de codificação. Dito isso, existem muitas outras maneiras de manipular cordas além da divisão. Você sempre pode experimentá-los para melhorar o manuseio de strings em Python.