CAPÍTULO 7 Procesamiento de texto

CAPÍTULO 7 Procesamiento de texto

 

Además de las herramientas que se han visto en cadenas de texto, la librería estándar nos ofrece una serie de módulos para procesamiento de texto que nos harán la vida más fácil a la hora de gestionar este tipo de datos.

7.1 string

CAPÍTULO 7 Procesamiento de texto

El módulo string proporciona una serie de constantes muy útiles para manejo de «strings», además de distintas estrategias de formateado de cadenas.

7.1.1 Constantes

Las constantes definidas en este módulo son las siguientes:

CAPÍTULO 7 Procesamiento de texto

CAPÍTULO 7 Procesamiento de texto

Ejercicio

Dada una cadena de texto, compruebe si todos sus caracteres son dígitos ASCII. Ignore los espacios en blanco.

Ejemplo

  • Entrada: This is it
  • Salida: True
7.1.2 Plantillas

El módulo string también nos permite usar plantillas con interpolación de variables. Algo similar a los f-strings pero con otro tipo de sintaxis.

Lo primero es definir la plantilla. Las variables que queramos interporlar deben ir precedidas del signo dólar $:

CAPÍTULO 7 Procesamiento de texto

Ahora podemos realizar la sustitución con los valores que nos interesen:

CAPÍTULO 7 Procesamiento de texto

CAPÍTULO 7 Procesamiento de texto

Hay que prestar atención cuando el identificador de variable está seguido por algún carácter que, a su vez, puede formar parte del identificador. En este caso hay que utilizar llaves para evitar la ambigüedad:

CAPÍTULO 7 Procesamiento de texto

Sustitución segura

En el caso de que alguna de las variables que estamos interpolando no exista o no tenga ningún valor, obtendremos un error al sustituir:

CAPÍTULO 7 Procesamiento de texto

Para ello Python nos ofrece el método safe_substitute() que no emite error si alguna variable no es especificada:

CAPÍTULO 7 Procesamiento de texto

Casos de uso

A primera vista podría parecer que este sistema de plantillas no aporta gran ventaja sobre los f-strings que ya hemos visto. Sin embargo hay ocasiones en los que puede resultar muy útil.

La mayoría de estas situaciones tienen que ver con la oportunidad de definir el «string». Si en el momento de crear la plantilla aún no están disponibles las variables de sustitución, podría interesar utilizar la estrategia que nos proporciona este módulo.

Supongamos un ejemplo en el que tenemos una estructura de «url» y queremos únicamente sustituir una parte de ella. Para no tener que repetir la cadena de texto completa en un «f-string», podríamos seguir este enfoque:

CAPÍTULO 7 Procesamiento de texto

Publicaciones Similares