Está en la página 1de 4

Caracteres especiales en el string

Como en otros lenguajes, Python tiene caracteres especiales que interpreta dentro de
los string. Por ejemplo \n es un retorno de carro (nueva línea), \t es un tabulador.
En string and bytes literals tienes una tabla completa con todos los caracteres de
escape de los string de Python.
Podemos, al definir una cadena, usar una r justo delante de la apertura de las
comillas. Esto evitará que Python interprete los caracteres especiales y los tratará
como caracteres normales.

# Saldrán dos líneas en pantalla, una con Hola, la otra con Mundo
cadena = "Hola\nMundo"

# Saldrá una única línea en pantalla y la \ y la n será visibles como


caracteres normales.
cadena2 = r"Hola\nMundo"

Recorrer el string
Bucle for sobre string
Con un bucle for podemos recorrer los caracteres de la cadena de uno en uno sin
problemas.

cadena = "Hola Mundo"


for letra in cadena:
print(letra)

Acceder a los caracteres de un string


También es posible acceder directamente a los caracteres de la cadena usando la
notación de corchetes [] poniendo como índice la posición del caracter deseado,
empezando en cero. Si usamos índices negativos, empieza a contar desde el final de
la cadena, siendo -1 el último carácter del string.

cadena = "Hola Mundo"

# Saca por pantalla la 'a' de 'Hola Mundo'


print (cadena[3])

# Saca por pantalla el último carácter, la 'o'


print (cadena[-1])

No es posible, sin embargo, asignar un nuevo carácter a esa posición


del string. cadena[3]='p' dará error.

Longitud de un string
La función len de Python nos permite saber la longitu de una cadena.
cadena = "Hola Mundo"

print ( len(cadena) ) # Saca 10, que es la longitud de la cadena

Extraer, Buscar, Reemplazar substring en string


Extraer substring
Podemos extraer una parte del string usando la notación de corchetes con dos
índices [inicio:fin] . La notación [:fin] es desde el primer carácter hasta el
carácter fin. La notación [inicio:] indica desde el carácter inicio hasta final
de string. Si usamos índices negativos, se cuenta desde el final de la cadena hacia el
principio. Por ejemplo, el índice -1 es el último carácter. Veamos código de ejemplo
de todo esto

cadena = "Hola Mundo"

# Saca por pantalla 'ol'


print (cadena[1:3])

#Saca por pantalla 'Hol'


print (cadena[:3])

# Saca por pantalla ' Mundo' (con el espacio delante)


print (cadena[4:])

# Saca por pantalla 'un'


print (cadena[-4:-2])

# Saca por pantalla 'undo'


print (cadena[-4:])

# Saca por pantalla 'Hola Mun'


print (cadena[:-2])

Saber si un string contiene un substring o carácter : in


Podemos usar el operador in de Python para saber si una cadena contiene una
determinada subcadena o un carácter concreto. Veamos un ejemplo

cadena = "Hola Mundo"

# Sacan True por pantalla.


print ( "o" in cadena )
print ( "Hola" in cadena )

# Sacan False por pantalla.


print ( "p" in "Hola Mundo" )
print ( "Pepe" in "Hola Mundo" )

Buscar un substring en el string : find


El método find de string nos permite buscar una subcadena dentro de la cadena. Este
método admite hasta tres parámetros. La cadena a buscar, el índice a partir del cual
empezar a buscar y el índice a partir del cual dejar de buscar. Nos devuelve la
posición en donde ha encontrado la cadena, o -1 si no la encuentra. Veamos ejemplos

cadena = "Hola Mundo"

print(cadena.find("Hola")) # Devuelve posición 0


print(cadena.find("Mundo")) # Devuelve posición 5

print(cadena.find("Hola", 3)) # Devuelve -1, a partir de la


posición 3 de "Hola Mundo" no hay ningún "Hola"
print(cadena.find("Mundo", 3)) # Devuelve 5, a partir de la
posición 3 de "Hola Mundo" hay un "Mundo".

print(cadena.find("Hola", 0, 5)) # Devuelve 0, hay un "Hola" entre la


posición 0 y 5 de "Hola Mundo".
print(cadena.find("Mundo", 0, 5)) # Devuelve -1, no hay un "Mundo"
entre la posición 0 y 5 de "Hola Mundo".

find devuelve la primera posición en donde encuentra el substring dentro del string.
Alternativamente, el método rfind nos devuelve la última posición donde encuentra
el substring. También admite parámetros de índice de inicio y fin de búsqueda. Un
ejemplo

cadena = "un uno, un dos, un tres"

print (cadena.find("un")) # El primer "un" está en la posición 0,


devuelve 0
print (cadena.rfind("un")) # El último "un" está en la posición 16,
devuelve 16

Contar número de veces que el substring aparece en el


string : count
El método count nos dice cuántas veces aparece el substring dentro del string. Admite
un parámetro que es el substring a buscar, y opcionalmente otros dos, los índices de
inicio y fin de búsqueda. Veamos ejemplos

cadena = "un uno, un dos, un tres"

print (cadena.count("un")) # Saca 4, hay 4 "un" en cadena.


print (cadena.count("un",10)) # Saca 1, hay 1 "un" a partir de la
posición 10 de cadena.
print (cadena.count("un",0,10)) # Saca 3, hay 3 "un" entre la
posición 0 y la 10.

Reemplazar substring en string : replace


El método replace nos permite obtener una copia de la cadena original (no reemplaza
en la cadena original) en la que se reemplaza el substring que se le indique por uno
nuevo. Admite tres parámetros, el primero es el substring que tiene que buscar, el
segundo es el nuevo substring que tiene que poner y el tercero, opcional, es cuántas
veces tiene que hacer el reemplazo. Veamos ejemplos

cadena = "un uno, un dos, un tres"

print (cadena.replace("un", "XXX")) # saca por pantalla "XXX


XXXo, XXX dos, XXX tres"
print (cadena.replace("un", "XXX", 2)) # Sólo reemplaza 2 "un",
así que saca por pantalla "XXX XXXo, un dos, un tres"

También podría gustarte