Cómo dividir una cadena en Python
Dividir una cadena en Python es bastante simple. Puede lograr esto usando la función "split ()" incorporada de Python.
El método split () en Python separa cada palabra en una cadena usando una coma, convirtiéndola en una lista de palabras. Esta guía lo guiará a través de las diversas formas en que puede dividir una cadena en Python.
Cómo utilizar el método de división de Python
Como se mencionó anteriormente, de forma predeterminada, la función split () incorporada de Python divide una cadena en palabras individuales separadas por comas. Pero acepta dos argumentos opcionales, y así es como se ve la sintaxis:
string.split([separatng criteria], [break point or max_split])
Cuando especifica un criterio de separación , la función ubica ese criterio dentro de la cadena e inicia una división en ese punto. De lo contrario, de forma predeterminada, divide la cadena en cualquier lugar donde haya un espacio en blanco.
Eche un vistazo al siguiente ejemplo para ver cómo funciona. Aquí, los espacios en blanco son los criterios de separación por defecto, ya que no especificamos uno:
myTexts = 'How to split a text in Python'
splitString = myTexts.split()
print(splitString)
Output: ['How', 'to', 'split', 'a', 'text', 'in', 'Python']
Veamos cómo funciona el método split () cuando especifica criterios de separación. En este ejemplo, una coma es el criterio de separación:
myTexts = 'How to split, a text in, Python'
print(myTexts.split(", "))
Para una mejor comprensión, el código de ejemplo a continuación divide las cadenas donde hay un punto. Entonces, los puntos aquí son los criterios de separación:
myTexts = 'How to split.a text in.Python'
print(myTexts.split("."))
Output: ['How to split', 'a text in', 'Python']
max_split es un número entero que especifica el número máximo de rupturas en una cadena. Más importante aún, indica el punto donde se rompe la cuerda.
Entonces puede incluir ese valor entre paréntesis para romper la cadena en puntos específicos.
Por ejemplo, el siguiente código divide los textos en dos y se detiene en la segunda coma:
myTexts = 'How, to, split, a, text, in, Python'
print(myTexts.split(", ", 2))
Output: ['How', 'to', 'split, a, text, in, Python']
Para ver cómo funciona esto aún más, separe la cadena en el código a continuación, haciendo que se detenga en el segundo punto:
myTexts = 'How.to split.a text.in.Python'
print(myTexts.split(".", 2))
Output: ['How', 'to split', 'a text.in.Python']
Si bien el método split () no divide las cadenas en alfabetos, puede lograrlo usando el bucle for :
myTexts = 'How to split a text in Python'
Alphabets = []
for each in myTexts:
alphas = each
Alphabets.append(alphas)
print(Alphabets)
En lugar de agregar a una lista como hicimos en el código anterior, puede acortar el código usando una lista de comprensión :
y = [each for each in myTexts]
print(y)
Cree un contador de palabras con la función de división de Python
Puede utilizar Python split () de muchas formas. Por ejemplo, puede contar el número de palabras después de dividir cada cadena:
myTexts = 'How to split a text in Python'
print(len(myTexts.split()))
Output: 7
Modifique el código anterior para contar las palabras en un archivo separado. Puede crear una función para hacer esto. Pero aquí, debe abrir y leer el archivo que contiene el texto.
Luego divida el texto primero y ejecute un recuento devolviendo la longitud de la división resultante usando la función incorporada len () :
def countWords(file):
myFile = open(file, 'r')
File = myFile.read()
splitString = File.split()
return len(splitString)
print(countWords('[Path to Yourfile.txt]'))
Aunque es un poco complicado, también puede hacer esto usando solo el bucle 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 que el bucle for lea cada palabra por separado, debe insertar su archivo en una lista separada como hicimos en el código anterior. Además, haga cumplir el recuento de palabras dejando un espacio entre las comillas vacías entre paréntesis. De lo contrario, le dará una salida incorrecta.
Entonces, el código funciona contando los espacios entre cada palabra y luego sumando 1 al recuento total para obtener el número real de palabras.
Simplifique su código
La función split () es una valiosa herramienta de Python y, como ha visto, puede usarla para contar las palabras en un archivo. Incluso puedes resolver otros problemas con él como desees. Hay muchas otras funciones integradas en Python como esta que simplifican operaciones complejas de manera rápida y eficiente.
Entonces, en lugar de escribir bloques largos de código, siempre es útil probar métodos integrados más eficientes, simples y rápidos para resolver varios problemas de codificación. Dicho esto, hay muchas otras formas de manipular cuerdas además de dividirlas. Siempre puede probarlos para mejorar su manejo de cadenas en Python.