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])