Pitón

Cómo dividir cadenas en Python

Cómo dividir cadenas en Python
Este artículo explicará cómo dividir cadenas en Python usando los métodos "split ()" y "partition ()". Estos métodos son especialmente útiles si desea convertir una oración o un grupo de palabras en tipos de Python analizables e iterables. Todos los ejemplos de código de esta guía se prueban con la versión 3 de Python.8.6.

Método de división

El método "split ()" se puede usar para dividir palabras usando un separador especificado por el usuario. Devuelve una lista de palabras divididas sin incluir el separador. Si el usuario no especifica ningún separador, los espacios en blanco (uno o más) se utilizan como un solo separador.

Por ejemplo, el siguiente código devolverá “['Linux', 'Hint']” como salida:

text = "Sugerencia de Linux"
texto.separar()

El siguiente código devolverá "['LinuxHint', 'com']" como salida cuando ".”Se utiliza como separador:

text = "LinuxHint.com "
texto.separar(".")

El separador no tiene que ser un solo carácter. El método split toma dos argumentos:

Ambos argumentos son opcionales. Como se mencionó anteriormente, si no se especifica el argumento "sep", los espacios en blanco se utilizan como separador para dividir. El argumento "maxsplit" tiene un valor predeterminado de "-1" y divide todas las ocurrencias de forma predeterminada. Considere el siguiente código:

text = "LinuxHint.co.nosotros"
texto.separar(".")

Devolverá “['LinuxHint', 'co', 'us']” como salida. Si desea dejar de dividir en la primera aparición del separador, especifique "1" como el argumento "maxsplit".

text = "LinuxHint.co.nosotros"
texto.separar(".”, 1)

El código anterior devolverá “['LinuxHint', 'co.us '] ”como salida. Simplemente especifique el número de ocurrencias en las que desea que el proceso de división se detenga como segundo argumento.

Tenga en cuenta que si hay separadores consecutivos, se devolverá una cadena vacía para los separadores restantes después de la primera división (cuando no se utilice el argumento "maxsplit"):

text = "LinuxHint… com"
texto.separar(".")

El código anterior devolverá “['LinuxHint',”, 'com'] ”como salida. En caso de que desee eliminar cadenas vacías de la lista resultante, puede utilizar la siguiente declaración de comprensión de la lista:

text = "LinuxHint… com"
resultado = texto.separar(".")
resultado = [artículo por artículo en resultado si artículo != ""]
imprimir (resultado)

Obtendrá "['LinuxHint', 'com']" como resultado después de ejecutar el ejemplo de código anterior.

Tenga en cuenta que el método "split ()" se mueve de izquierda a derecha para dividir cadenas en palabras. Si desea dividir la cadena de derecha a izquierda, use "rsplit ()" en su lugar. Su sintaxis, uso y argumentos son exactamente los mismos que los del método "split ()".

Si no se encuentra un separador en la cadena mientras se utilizan los métodos "split ()" o "rsplit ()", la cadena original se devuelve como el único elemento de la lista.

Método de partición

El método "partición ()" se puede utilizar para dividir cadenas y funciona de forma idéntica al método "split ()" con algunas diferencias. La diferencia más notable es que conserva el separador y lo incluye como un elemento en la tupla resultante que contiene palabras divididas. Esto es especialmente útil si desea dividir la cadena en un objeto iterable (tupla en este caso) sin eliminar ningún carácter original. Considere el siguiente código:

text = "LinuxHint.com "
resultado = texto.dividir(".")
imprimir (resultado)

El ejemplo de código anterior devolverá “('LinuxHint', '.',' com ') ”como salida. Si desea que el resultado sea de tipo lista, use el siguiente ejemplo de código en su lugar:

text = "LinuxHint.com "
resultado = lista (texto.dividir("."))
imprimir (resultado)

Debería obtener "['LinuxHint', '.',' com '] ”como salida después de ejecutar el ejemplo de código anterior.

El método "partición ()" toma solo un argumento llamado "sep". Los usuarios pueden especificar un separador de cualquier longitud. A diferencia del método "split ()", este argumento es obligatorio, por lo que no puede omitir el separador. Sin embargo, puede especificar espacios en blanco como separador.

Tenga en cuenta que el método de partición se detiene en la primera aparición del separador. Entonces, si su cadena contiene múltiples separadores, el método "partición ()" ignorará todas las demás ocurrencias. Aquí hay un ejemplo que ilustra esto:

text = "LinuxHint.co.nosotros"
resultado = lista (texto.dividir("."))
imprimir (resultado)

La muestra de código producirá "['LinuxHint', '.',' co.us '] ”como salida. Si desea dividir todas las apariciones del separador e incluir el separador también en la lista final, es posible que deba usar un patrón de "Expresión regular" o "RegEx". Para el ejemplo mencionado anteriormente, puede usar un patrón RegEx de la siguiente manera:

importar re
text = "LinuxHint.co.nosotros"
resultado = re.separar("(\.)", texto)
imprimir (resultado)

Obtendrá "['LinuxHint', '.',' co ','.',' us '] ”como salida después de ejecutar el ejemplo de código anterior. El carácter de punto se ha escapado en la declaración RegEx mencionada anteriormente. Tenga en cuenta que si bien el ejemplo anterior funciona con un solo carácter de punto, es posible que no funcione con separadores complejos y cadenas complejas. Puede que tenga que definir su propio patrón de RegEx dependiendo de su caso de uso. El ejemplo se acaba de mencionar aquí para darle una idea sobre el proceso de retener el separador en la lista final usando declaraciones RegEx.

El método "partición ()" a veces puede dejar cadenas vacías, especialmente cuando el separador no se encuentra en la cadena que se va a dividir. En tales casos, puede usar declaraciones de comprensión de listas para eliminar cadenas vacías, como se explica en la sección anterior del método "split ()".

text = "LinuxHint"
resultado = lista (texto.dividir("."))
resultado = [artículo por artículo en resultado si artículo != ""]
imprimir (resultado)

Después de ejecutar el código anterior, debería obtener "['LinuxHint']" como salida.

Conclusión

Para divisiones simples y directas, puede usar los métodos "split ()" y "partition ()" para obtener tipos iterables. Para cadenas y separadores complejos, deberá usar declaraciones RegEx.

Cómo instalar League Of Legends en Ubuntu 14.04
Si eres fanático de League of Legends, esta es una oportunidad para que pruebes League of Legends. Tenga en cuenta que LOL es compatible con PlayOnLin...
Instale el último juego de estrategia de OpenRA en Ubuntu Linux
OpenRA es un motor de juego de estrategia en tiempo real libre / gratuito que recrea los primeros juegos de Westwood como el clásico Command & Conquer...
Instale el último emulador de Dolphin para Gamecube y Wii en Linux
Dolphin Emulator te permite jugar los juegos de Gamecube y Wii que elijas en computadoras personales con Linux (PC). Al ser un emulador de juegos de ...