0% encontró este documento útil (0 votos)
41 vistas38 páginas

Cadenas de Caracteres en Python

Este documento explica los diferentes métodos que se pueden utilizar para manipular cadenas de texto en Python. Describe métodos para indexar, rebanar, concatenar y modificar cadenas.

Cargado por

Andrea Sinche
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
41 vistas38 páginas

Cadenas de Caracteres en Python

Este documento explica los diferentes métodos que se pueden utilizar para manipular cadenas de texto en Python. Describe métodos para indexar, rebanar, concatenar y modificar cadenas.

Cargado por

Andrea Sinche
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Sugerencia: Use gráficos

para establecer el tono del


discurso.

CADENAS DE CARACTERES EN
PYTHON

LSI. VERÓNICA FREIRE AVILÉS, MSIG


Strings en Python

 Los cadenas (o strings) son un tipo de datos compuestos por


secuencias de caracteres que representan texto.
 Estas cadenas de texto son de tipo str y se delimitan mediante
el uso de comillas simples o dobles.
 El intérprete de Python tiene distintas funciones integradas
relacionadas con las cadenas. ➔ len(), la cual nos indica el
número de elementos de un objeto.
 En el caso de que el objeto sea una cadena nos indica el
número de caracteres que la componen.
Indexación de Strings

 Cada uno de los caracteres de una cadena (incluidos los espacios) tiene
asignado un índice.
 Este índice nos permite seleccionar su carácter asociado haciendo referencia a
él entre corchetes ([]) en el nombre de la variable que almacena la cadena

>>> cadena = "Programa en Python"


>>> cadena[0]
'P'
>>> cadena[-1]
'n'
Rebanar Strings

 Otra operación que podemos realizar a una cadena es seleccionar solamente una
parte de ella. Para ello se usa la notación [inicio:fin:paso] también en el nombre de la
variable que almacena la cadena, donde:
 Inicio: es el índice del primer carácter de la porción de la cadena que queremos
seleccionar.
 Fin: es el índice del último carácter no incluido de la porción de la cadena que
queremos seleccionar.
 Paso: indica cada cuantos carácteres seleccionamos entre las posiciones de inicio
y fin.
>>> cadena = "Programa en Python"
>>> cadena[Link]
'Programa'
>>> cadena[Link]
'Python'
Rebanar Strings

 Algunas consideraciones a tener en cuenta son que, si omitimos las posiciones de inicio o fin, nos
referimos respectivamente a la primera y última posición de la cadena.
 Además, omitir el paso es equivalente a indicar que el paso es 1. De este modo las selecciones
anteriores también se podrían realizar del siguiente modo.
>>> cadena = "Programa en Python"
>>> cadena[:8]
'Programa'
>>> cadena[12:]
'Python'
 Algunas consideraciones a tener en cuenta es que, si omitimos las posiciones de inicio o fin, nos
referimos respectivamente a la primera y última posición de la cadena.
 Además, omitir el paso es equivalente a indicar que el paso es 1. De este modo las
selecciones anteriores también se podrían realizar del siguiente modo.
>>> cadena = "Programa en Python"
>>> cadena[::-1]
'nohtyP ne amargorP'
Operaciones con Strings

 Una operación que podemos realizar es la concatenación que consiste en unir


distintas cadenas mediante el uso del signo más (+).
 >>> nombre = "Luke"
 >>> apellido = "Skywalker"
 >>> nombre + " " + apellido
 'Luke Skywalker'
 También podemos concatenar con el signo de multiplicación (*), que en este
caso significa adjuntarle un determinado número de copias a la cadena.
 >>> cadena = 'Python.'
 >>> cadena * 4
 '[Link].'
Operaciones con Strings

 Además, las cadenas presentan la propiedad de inmutabilidad. Esto significa que una vez han sido creadas no pueden
modificarse. En efecto, si intentamos modificar una cadena el intérprete nos indica que a ésta no se pueden asignar
elementos.
 >>> cadena = "Pithon"
 >>> cadena[1] = 'y'
 Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 TypeError: 'str' object does not support item assignment
 Sin embargo, aplicando algunos de los conceptos vistos este post sí que podemos llegar a cambiar el contenido de una
cadena.
 >>> cadena = "Pithon"
 >>> cadena = cadena[0] + "y" + cadena[2:]
 >>> cadena
 'Python'
Métodos de los Strings

 [Link](): este método devuelve una copia de la cadena convirtiendo las letras minúsculas a mayúsculas. El
hecho de que devuelva una copia significa que la variable original no se ve afectada por la operación.
 >>> x = "Programa en Python 3"
 >>> [Link]()
 'PROGRAMA EN PYTHON 3'
 >>> x
 'Programa en Python 3'
 [Link](): devuelve una copia de la cadena convirtiendo las letras mayúsculas a minúsculas.
 >>> x = "PROGRAMA EN PYTHON 3"
 >>> [Link]()
 'programa en python 3'
Métodos de los Strings

 [Link](): devuelve una copia de la cadena usando la notación de título.


 >>> x = "programa en python 3"
 >>> [Link]()
 'Programa En Python 3'
 [Link](viejo, nuevo): devuelve una copia de la cadena a la cual se le ha
cambiado la primera ocurrencia del carácter especificado en viejo por el
especificado en nuevo.
 >>> x = "Programa En Python 3"
 >> [Link]("E", "e")
 'Programa en Python 3'
Métodos de los Strings
 [Link](): devuelve una copia de la cadena a la cual se le han eliminado los espacios del principio.
 [Link](): se comporta igual que el anterior, pero para los espacios del final.
 >>> x = " Programa en Python "
 >>> [Link]()
 'Programa en Python '
 >>> [Link]()
 ' Programa en Python'
 [Link](sep=None): devuelve una lista de las palabras de la cadena separadas acorde el parámetro sep. Si este
parámetro no se especifica o es None, la cadena se separa teniendo en cuenta los espacios en blanco. Si usamos
el símbolo arroba (@) como separador y nuestra cadena es una dirección de correo electrónico, podemos separar
los nombres de usuario y servidor.
 >>> x = "Programa en Python"
 >>> [Link]()
 ['Programa', 'en', 'Python']
 >>> email = "[Link]@[Link]"
 >>> [Link]('@')
 ['[Link]', '[Link]']
METODOS DE SUSTITUCION
Reemplazar texto en una cadena

 Método: replace(“subcadena a buscar”, “subcadena por la cual reemplazar”)


 Retorna: la cadena reemplazada
 >>> buscar = "nombre apellido"
 >>> reemplazar_por = "Juan Pérez"
 >>> print "Estimado Sr. nombre apellido:".replace(buscar, reemplazar_por)
 Estimado Sr. Juan Pérez:
Eliminar caracteres a la izquierda y
derecha de una cadena

 Método: strip([“caracter”])
 Retorna: la cadena sustituida
 >>> cadena = " [Link] "
 >>> print [Link]()
 [Link]
 >>> print [Link](' ')
 [Link]
Eliminar caracteres a la izquierda de una
cadena

 Método: lstrip([“caracter”])
 Retorna: la cadena sustituida
 >>> cadena = "[Link]"
 >>> print [Link]("w." )
 [Link]
 >>> cadena = " [Link]"
 >>> print [Link]()
 [Link]
Eliminar caracteres a la derecha de una
cadena

 Método: rstrip([“caracter”])
 Retorna: la cadena sustituida
 >>> cadena = "[Link] "
 >>> print [Link]( )
 [Link]
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"
 >>> print ([Link]())
 Bienvenido a mi aplicación
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"
 >>> print ([Link]())
 hOLA mUNDO
Convertir una cadena en
Formato Título

 Método: title()
 Retorna: una copia de la cadena convertida
 >>> cadena = "hola mundo"
 >>> print [Link]()
 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()
 >>> print ([Link](50, "="))
 ===========Bienvenido a mi aplicación============
 >>> print ([Link](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()
 >>> print ([Link](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()
 >>> print ([Link](50, "="))
 =======================Bienvenido a mi aplicación
 >>> print [Link](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


 >>> print (str(numero_factura).zfill(12))
 000000001575
Métodos de Búsqueda
Contar cantidad de apariciones de una
subcadena

 Método: count(“subcadena”[, posicion_inicio, posicion_fin])


 Retorna: un entero representando la cantidad de apariciones de subcadena dentro de
cadena
 >>> cadena = "bienvenido a mi aplicación".capitalize()
 >>> print ([Link]("a"))
 3
Buscar una subcadena dentro de una
cadena

 Método: find(“subcadena”[, posicion_inicio, posicion_fin])


 Retorna: un entero representando la posición donde inicia la subcadena dentro de
cadena. Si no la encuentra, retorna -1
 >>> cadena = "bienvenido a mi aplicación".capitalize()
 >>> print [Link]("mi")
 13
 >>> print [Link]("mi", 0, 10)
 -1
Métodos de Validación
Saber si una cadena comienza con una
subcadena determinada

 Método: startswith(“subcadena”[, posicion_inicio, posicion_fin])


 Retorna: True o False
 >>> cadena = "bienvenido a mi aplicación".capitalize()
 >>> print [Link]("Bienvenido")
 True
 >>> print [Link]("aplicación")
 False
 >>> print [Link]("aplicación", 16)
 True
Saber si una cadena finaliza con una
subcadena determinada
 Método: endswith(“subcadena”[, posicion_inicio, posicion_fin])
 Retorna: True o False
 >>> cadena = "bienvenido a mi aplicación".capitalize()
 >>> print [Link]("aplicación")
 True
 >>> print [Link]("Bienvenido")
 False
 >>> print [Link]("Bienvenido", 0, 10)
 True
Saber si una cadena es
alfanumérica
 Método: isalnum()
 Retorna: True o False
 >>> cadena = "pepegrillo 75"
 >>> print [Link]()
 False
 >>> cadena = "pepegrillo"
 >>> print [Link]()
 True
 >>> cadena = "pepegrillo75"
 >>> print [Link]()
 True
Método: isalpha()

Saber si una
Retorna: True o False
>>> cadena = "pepegrillo 75"

cadena es
>>> print [Link]()
False
alfabética
>>> cadena = "pepegrillo"
>>> print [Link]()
True
>>> cadena = "pepegrillo75"
>>> print [Link]()
False
Saber si una cadena es
numérica
 Método: isdigit()
 Retorna: True o False
>>> cadena = "pepegrillo 75"
>>> print ([Link]())
False
>>> cadena = "7584"
>>> print ([Link]())
True
>>> cadena = "75 84"
>>> print ([Link]())
False
>>> cadena = "75.84"
>>> print ([Link]())
False
Saber si una cadena contiene solo
minúsculas
 Método: islower()
 Retorna: True o False
 >>> cadena = "pepe grillo"
 >>> print [Link]()
 True
 >>> cadena = "Pepe Grillo"
 >>> print [Link]()
 False
 >>> cadena = "Pepegrillo"
 >>> print [Link]()
 False
 >>> cadena = "pepegrillo75"
 >>> print [Link]()
 True
Saber si una cadena contiene solo
mayúsculas

 Método: isupper()
 Retorna: True o False
 >>> cadena = "PEPE GRILLO"
 >>> print [Link]()
 True
 >>> cadena = "Pepe Grillo"
 >>> print [Link]()
 False
 >>> cadena = "Pepegrillo"
 >>> print [Link]()
 False
 >>> cadena = "PEPEGRILLO"
 >>> print [Link]()
 True
Saber si una cadena contiene solo
espacios en blanco

 Método: isspace()
 Retorna: True o False
 >>> cadena = "pepe grillo"
 >>> print [Link]()
 False
 >>> cadena = " "
 >>> print [Link]()
 True
Saber si una cadena tiene Formato De
Título

 Método: istitle()
 Retorna: True o False
 >>> cadena = "Pepe Grillo"
 >>> print [Link]()
 True
 >>> cadena = "Pepe grillo"
 >>> print [Link]()
 False
Formatear Strings: Método format()

 Una alternativa a la concatenación de cadenas es el uso del método format(). Este


método devuelve una copia de la cadena a la que se le han sustituido las posiciones
que contienen llaves ({}) por los argumentos del método. Esta sustitución se realiza
por defecto en el mismo orden de los argumentos.
 >>> "Mi {} se llama {} y tiene {} años".format("perro", "Ashley", "tres")
 'Mi perro se llama Ashley y tiene tres años'
 También podemos referenciar los argumentos del método por su posición (siendo el
índice del primero 0) o mediante un nombre.
 >>> "Mi {1} se llama {2} y tiene {0} años".format("tres", "perro", "Ashley")
 'Mi perro se llama Ashley y tiene tres años'
 >>> "Mi {animal} se llama {nombre} y tiene {edad} años".format(animal="perro",
nombre="Ashley", edad="tres")
 'Mi perro se llama Ashley y tiene tres años'
Formatear Strings: Método format()

 Este método también nos permite especificar el número de


decimales que se muestran en números de coma flotante.
 >>> from math import pi
 >>> "El numero pi es {}".format(pi)
 'El numero pi es 3.141592653589793'
 >>> "El numero pi es {n:1.4f}".format(n=pi)
 'El numero pi es 3.1416'
f-strings

 El método format() puede producir código un poco


engorroso de leer cuando tratamos con strings largos que
contienen múltiples parámetros. Es por ello que en Python 3.6
se añadieron los f-strings.
 Los f-strings son cadenas de texto con una f al inicio y
expresiones entre llaves que se sustituyen por sus valores.
 >>> animal = "perro"
 >>> nombre = "Ashley"
 >>> edad = "tres"
 >>> f"Mi {animal} se llama {nombre} y tiene {edad} años"
 'Mi perro se llama Ashley y tiene tres años'

También podría gustarte