En el lenguaje de pro­gra­ma­ción Python, hay varias formas de crear su­b­s­tri­n­gs o de comprobar la exi­s­te­n­cia de su­b­s­tri­n­gs 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 ca­ra­c­te­res “¡Hello world!”, que podrías dividir en dos su­b­s­tri­n­gs: “¡Hello” y “world!”. Ten en cuenta que los su­b­s­tri­n­gs no son ne­ce­sa­ria­me­n­te palabras sueltas. Cada letra o carácter de una cadena pueden ser co­n­si­de­ra­dos su­b­s­tri­n­gs in­de­pe­n­die­n­tes.

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 au­to­ma­ti­za­do de GitHub, puedes desplegar y construir fá­ci­l­me­n­te tus proyectos web.

Crear una substring Python

Slicing

Si quieres escribir código Python que cree un substring por ti, slicing es la fu­n­cio­na­li­dad más conocida de Python para ello. Esta operación te permite utilizar índices para de­te­r­mi­nar dónde debe empezar y dónde debe terminar tu substring. Los índices se in­tro­du­cen 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 vi­sua­li­zar la fu­n­cio­na­li­dad 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” co­n­te­n­drí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 es­pe­ci­fi­cas un índice de inicio, se se­le­c­cio­na 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 su­b­s­tri­n­gs 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 ca­ra­c­te­res 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 pre­de­fi­ni­dos, 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 pre­se­n­ta­do. Toma un índice inicial y otro final y devuelve el substring co­rre­s­po­n­die­n­te:

string.slice(comienzo, fin)
python

La función substring

El método substring también es ideal para extraer Python su­b­s­tri­n­gs. Si­n­tá­c­ti­ca­me­n­te, es similar a la función slice. Su co­m­po­r­ta­mie­n­to también es equi­va­le­n­te:

string.substring(inicio, fin)
python

La función split

Si te interesan no solo una, sino varias Python su­b­s­tri­n­gs, merece la pena que eches un vistazo a Python split. Esta función te permite dividir una cadena en una Python list de su­b­s­tri­n­gs a partir de un símbolo separador de­te­r­mi­na­do. La sintaxis no es co­m­pli­ca­da:

string.split(separador)
python

Para aclarar el pro­ce­di­mie­n­to 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 su­b­s­tri­n­gs que estaban separados por un espacio en el string original: “[‘Python’, ‘es’, ‘popular.’]”.

Su­b­s­tri­n­gs como resultado de ex­pre­sio­nes regulares

También puedes almacenar Python su­b­s­tri­n­gs en una lista si aplicas una expresión regular a un string y luego utilizas la función findall de la bi­blio­te­ca “re”. Las ex­pre­sio­nes regulares en Python son un formato para procesar strings que encuentra patrones es­pe­cí­fi­cos 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 pro­ce­di­mie­n­to:

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

En la primera línea de código, se importa la bi­blio­te­ca “re” para poder acceder a la función findall. A co­n­ti­nua­ció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 su­b­s­tri­n­gs: “[‘Python’, ‘es’, ‘popular.’]”.

Ir al menú principal