Libro Python Aplicado de Eugenia Bahit. GNU/Linux, ciencia de datos, y desarrollo web

Banner de Python Aplicado

Manipulación de cadenas de texto


Cita con formato IEEE:
E. Bahit, "Manipulación de cadenas de texto", in Python Aplicado, 4th ed., EBRC Publisher, 2022, pp. 65–77.

Cita con formato APA 7:
Bahit, E. (2022). Manipulación de cadenas de texto. In Python Aplicado (4th ed., pp. 65–77). EBRC Publisher.

Cita en línea:
(Bahit, 2022)

En Python, toda variable se considera un objeto. Sobre cada objeto, pueden realizarse diferentes tipos de acciones denominadas métodos. Los métodos son funciones pero que se desprenden de una variable. Por ello, se accede a estas funciones mediante la sintaxis:

variable.funcion()

En algunos casos, estos métodos (funciones de un objeto), aceptarán parámetros como cualquier otra función.

variable.funcion(parametro)

Inyección de variables

Una variable se «inyecta» en una cadena de texto haciendo que su valor pase a formar parte de la cadena.

Esto se hace mediante una operación de formato. Esto es necesario cuando la cadena a ser inyectada debe contener datos que son variables.

Para inyectar variables dentro de cadenas, las cadenas deben ser preparadas mediante el uso de modificadores. Un modificador puede ser un par de llaves vacías {} o un par de llaves con nombre {nombre}.

cadena = "Cadena preparada para recibir dos datos variables:  {} y {}."

La misma cadena con modificadores con nombre:

cadena = "Cadena preparada para recibir dos datos variables: {dato1} y {dato2}."

Luego, se da formato a la cadena pasando una lista de variables que serán enlazadas a cada modificador:

cadena = "Cadena preparada para recibir dos datos variables: {} y {}."
resultado = cadena.format(variable1, variable2)

Y si tiene modificadores con nombre:

cadena = "Cadena preparada para recibir dos datos variables: {dato1} y {dato2}."
resultado = cadena.format(dato1=variable1, dato2=variable2)

La función format() es un método del objeto string. Los métodos son funciones. Los objetos, variables de un tipo de datos más complejo.

Métodos de formato

Convertir a mayúscula la primera letra

Método: capitalize()

Retorna: una copia de la cadena con la primera letra en mayúsculas

>>> cadena = "bienvenido a mi aplicación" 
>>> resultado = cadena.capitalize()
>>> resultado
Bienvenido a mi aplicación

Convertir una cadena a minúsculas

Método: lower()

Retorna: una copia de la cadena en minúsculas

>>> cadena = "Hola Mundo" 
>>> cadena.lower()
hola mundo

Convertir una cadena a mayúsculas

Método: upper()

Retorna: una copia de la cadena en mayúsculas

>>> cadena = "Hola Mundo" 
>>> cadena.upper()
HOLA MUNDO

Convertir mayúsculas a minúsculas y viceversa

Método: swapcase()

Retorna: una copia de la cadena convertidas las mayúsculas en minúsculas y viceversa

>>> cadena = "Hola Mundo" 
>>> cadena.swapcase()
hOLA mUNDO

Convertir una cadena en Formato Título

Método: title()

Retorna: una copia de la cadena convertida

>>> cadena = "hola mundo" 
>>> cadena.title()
Hola Mundo

Centrar un texto

Método: center(longitud[, "caracter de relleno"])

Retorna: una copia de la cadena centrada

>>> cadena = "bienvenido a mi aplicación".capitalize() 
>>> cadena.center(50, "=") 
===========Bienvenido a mi aplicación============ 
>>> cadena.center(50, " ") 
          Bienvenido a mi aplicación

Alinear texto a la izquierda

Método: ljust(longitud[, "caracter de relleno"])

Retorna: una copia de la cadena alineada a la izquierda

>>> cadena = "bienvenido a mi aplicación".capitalize() 
>>> cadena.ljust(50, "=") 
Bienvenido a mi aplicación=======================

Alinear texto a la derecha

Método: rjust(longitud[, "caracter de relleno"])

Retorna: una copia de la cadena alineada a la derecha

>>> cadena = "bienvenido a mi aplicación".capitalize() 
>>> cadena.rjust(50, "=") 
=======================Bienvenido a mi aplicación
>>> cadena.rjust(50, " ") 
                      Bienvenido a mi aplicación

Rellenar un texto anteponiendo ceros

Método: zfill(longitud)

Retorna: una copia de la cadena rellena con ceros a la izquierda hasta alcanzar la longitud final indicada

>>> numero_factura = 1575 
>>> str(numero_factura).zfill(12) 
000000001575

Métodos de Búsqueda

Contar cantidad de apariciones de un fragmento de texto

Método: count("subcadena"[, posicion_inicio, posicion_fin])