Cómo crear y procesar Python substrings

En el lenguaje de programación Python, hay varias formas de crear substrings o de comprobar la existencia de substrings dentro de un string.

¿Qué es un substring?

Un substring o subcadena no es más que una parte de un string de Python. Los strings son cadenas que pueden tener cualquier tamaño. Si solo te interesa una parte de dicha cadena y la extraes, obtienes una llamada substring. Un ejemplo sencillo es la cadena de caracteres “¡Hello world!”, que podrías dividir en dos substrings: “¡Hello” y “world!”. Ten en cuenta que los substrings no son necesariamente palabras sueltas. Cada letra o carácter de una cadena pueden ser considerados substrings independientes.

Consejo

Si te interesa usar Python para programar un proyecto, merece la pena que eches un vistazo a Deploy Now de IONOS. Gracias a un flujo de trabajo automatizado de GitHub, puedes desplegar y construir fácilmente tus proyectos web.

Crear una substring Python

Slicing

Si quieres escribir código Python que cree un substring por ti, slicing es la funcionalidad más conocida de Python para ello. Esta operación te permite utilizar índices para determinar dónde debe empezar y dónde debe terminar tu substring. Los índices se introducen entre corchetes, separados por dos puntos. El índice de inicio es inclusivo, pero el índice final es exclusivo. En Python, la sintaxis de slicing es:

string[inicio:fin]
python

Este ejemplo de código concreto te puede ayudar a visualizar la funcionalidad slicing:

s = "Python es popular."
resultado = s[0:6]
python

Primero, se crea una cadena llamada “s”. En la segunda línea del ejemplo de código puedes ver el slicing. Tras el nombre de la cadena, se indican entre corchetes primero el índice de inicio 0, seguido de dos puntos, y luego el índice final 6. Esto hace que la variable llamada “resultado” almacene el substring de “s” formado por el carácter cero hasta el quinto inclusive. En nuestro caso, la variable “resultado” contendría por tanto la palabra “Python”.

Si quieres usar slicing en un string desde el principio o hasta el final, puedes acortar aún más la notación de slicing en Python: si no especificas un índice de inicio, se selecciona el índice 0 por defecto. Si, por el contrario, omites el índice final, creas una substring Python con slicing que se extiende hasta el final de la cadena original.

Además, si quieres empezar desde atrás para extraer substrings de tu cadena Python original, puedes utilizar una notación abreviada con índices negativos:

s = "Python es popular."
resultado = s[-8:]
python

En el ejemplo de código anterior, la variable llamada “resultado” contiene los 8 últimos caracteres de la cadena original “s”. Así, la variable “resultado” contiene la cadena “popular.”.

Métodos de string

Hay una serie de métodos de string predefinidos, además de Python slicing, que puedes utilizar para extraer un substring Python de un string.

La función slice

Como su nombre indica, la función slice funciona de la misma forma que slicing de Python. La sintaxis de la función slice recuerda mucho al slicing antes presentado. Toma un índice inicial y otro final y devuelve el substring correspondiente:

string.slice(comienzo, fin)
python

La función substring

El método substring también es ideal para extraer Python substrings. Sintácticamente, es similar a la función slice. Su comportamiento también es equivalente:

string.substring(inicio, fin)
python

La función split

Si te interesan no solo una, sino varias Python substrings, merece la pena que eches un vistazo a Python split. Esta función te permite dividir una cadena en una Python list de substrings a partir de un símbolo separador determinado. La sintaxis no es complicada:

string.split(separador)
python

Para aclarar el procedimiento exacto de la función split, vuelve a ser útil un breve ejemplo de código:

s = "Python es popular."
resultado = s.split(" ")
python

La llamada a la función split de Python toma como argumento el carácter separador, en nuestro caso un espacio. La variable “resultado” contiene ahora una lista de todos los Python substrings que estaban separados por un espacio en el string original: “[‘Python’, ‘es’, ‘popular.’]”.

Substrings como resultado de expresiones regulares

También puedes almacenar Python substrings en una lista si aplicas una expresión regular a un string y luego utilizas la función findall de la biblioteca “re”. Las expresiones regulares en Python son un formato para procesar strings que encuentra patrones específicos dentro de las cadenas. La función findall toma una expresión regular como primer parámetro y un string como segundo parámetro. Un ejemplo de código demuestra el procedimiento:

import re
s = "Python es popular."
resultado = re.findall(r"\w+", s)
python

En la primera línea de código, se importa la biblioteca “re” para poder acceder a la función findall. A continuación, se introduce la función la expresión regular “r “\w+””, así como la cadena en la variable llamada “s”. Aunque la expresión regular pueda resultar difícil en un primer momento, se limita a indicar que hay que extraer todas las palabras de una cadena. Por tanto, la variable llamada “resultado” va a contener una lista de Python substrings: “[‘Python’, ‘es’, ‘popular.’]”.