Python: Métodos de cadenas II

En el anterior artículo vimos 8 métodos de la clase str de Python (capitalize, center, count, encode, endswith, expandtabs, find e index). En este artículo voy a continuar para seguir completando la lista.

Vamos a ver estos métodos en detalle:

  • isalnum
  • isalpha
  • isdigit
  • islower
  • isspace
  • istitle
  • isupper

isalnum()

El método isalnum comprueba si la cadena es alfanumérica, es decir, si los caracteres que la componen son solo letras y/o números y tiene al menos un carácter. Devuelve True en caso afirmativo. Devuelve False si no es alfanumérica o está vacía.

cadena = "hola 3"
result = cadena.isalnum()
print(result)

La salida del ejemplo será False puesto que la cadena “hola 3” contiene un espacio. Los espacios no son caracteres alfanuméricos.

isalpha()

Este método se parece al anterior, la diferencia es que sólo tendrá en cuenta los caracteres alfabéticos, es decir, devolverá True si la cadena sólo contiene caracteres alfabéticos (letras) y al menos un carácter. Devolverá False en caso contrario.

cadena = "hola"
result = cadena.isalpha()
print(result)

El resultado del ejemplo es True puesto que la cadena “hola” está compuesta sólo de letras.

isdigit()

Otro método primo hermano de los anteriores es isdigit. Este método devuelve True cuando la cadena está compuesta sólo de dígitos y tiene al menos un carácter. En caso contrario devuelve False.

Puede ser realmente útil para validar entradas de datos antes de hacer conversiones de tipos o para validar datos como números de teléfono.

cadena = "3.25"
result = cadena.isdigit()
print(result)

En el ejemplo, el resultado será False. Fijaos que la cadena es “3.25”. Aunque se pueda hacer una conversión de esta cadena a punto flotante, no debéis confundir valores numéricos con dígitos.

islower()

El método islower devuelve True cuando todos los caracteres alfabéticos que componen la cadena están en minúscula. Puede contener todo tipo de caracteres, pero solo comprobará los alfabéticos. Devolverá False si al menos uno de los caracteres alfabéticos está en mayúscula o si no hay ningún carácter alfabético.

cadena = "hola 4"
result = cadena.islower()
print(result)

El resultado del ejemplo es True puesto que la parte alfabética (hola) está en minúscula.

isspace()

El método isspace comprueba si todos los caracteres de la cadena son espacios en blanco. Se entiende por espacio en blanco los espacios, tabulaciones y retornos de carro. Devuelve True en caso afirmativo, y False si contiene algún otro tipo de carácter o la cadena está vacía.

cadena = """ 
    """
result = cadena.isspace()
print(result)

Aunque no se aprecia en el código, la cadena tiene un espacio al principio, un salto de línea y una tabulación. El resultado, por tanto, es True.

El código es equivalente a este que también devolverá True:

cadena = " \n\t"
result = cadena.isspace()
print(result)

istitle()

El método istitle comprueba si la cadena tiene formato de título, es decir, si el primer carácter alfabético de cada palabra que la compone está en mayúscula. Devuelve True en caso afirmativo, False en caso contrario.

cadena = "Hola 3Undo"
result = cadena.istitle()
print(result)

Fijaos en el ejemplo, la segunda palabra es 3Undo. Empieza por un dígito, pero el siguiente carácter es la letra U. Este segundo carácter es el primer carácter alfabético de la segunda palabra y está en mayúscula, por tanto, el resultado es True. Si la segunda palabra fuese 3undo, entonces el resultado sería False.

isupper()

Este método es el opuesto a islower. Lo que hace es comprobar si todos los caracteres alfabéticos de la cadena están en mayúscula. Si es así devuelve True. Si hay al menos un carácter alfabético en minúscula, o no hay caracteres alfabéticos devuelve False.

cadena = "HOLA MUNDO"
result = cadena.isupper()
print(result)

El resultado del ejemplo es True porque todos los caracteres alfabéticos están en minúscula. El espacio no se tiene en cuenta.

Sígueme:

Deja una respuesta

Subir ↑