Ejemplos de cadenas en python

Subcadenas: https://www.learnbyexample.org/python-string-slicing/

cad1 = "hola"
cad2 = "adios"
print(cad1 + " y " + cad2)
print(cad1, " y ", cad2)

cad3 = "ana" * 3
print(cad3)

print(len(cad3))

# subcadenas usamos la sintaxis de los corchetes

cad4 = "En un lugar de  la mancha. Camión"
print(cad4[4])  # me escribe la posición 4
print(cad4[4:8])  # me escribe la posición 4 a la posición 8 no incluída
print(cad4[4:-4])  # desde la posición 4 hasta la posición 4 empezando desde el final
print(cad4[4:-1])  # desde la posición 4 hasta la posición 1 empezando desde el final
print(cad4[-4:-1])  # desde la posición 4 empezando desde el final hasta la posición 1 empezando desde el final
print(cad4[-1])  # último carácter
print(cad4[-2])  # penúltimo carácter

for i in range(len(cad4)):
    print(cad4[0:i + 1])

# conversiones de mayúsculas/minúsculas
print(cad4.upper())  # lo pone en  mayúsculas
print(cad4.lower())  # lo pone en minúsculas
print(cad4.capitalize())  # la primera letra de cada frase en mayúsculas, resto en minúsculas
print(cad4.title())  # la primera letra de cada pelabra en mayúsculas, resto en minúsculas
print(cad4.swapcase())  # las mayúsculas pasan a minúsculas y viceversa
print(cad4.casefold())  # También a minúsculas

# reemplazar
cad5 = cad4.replace("a", "@")  # reemplaza todas las apariciones de a en la cadena por @
cad6 = cad4.replace("a", "@", 2)  # lo mismo pero solo las dos primeras
print(cad5)
print(cad6)

# eliminar espacios
cad6 = "    hola que tal   "
print("|" + cad6.strip() + "|")  # elimina espacios al principio y al final de la cadena
print("|" + cad6.lstrip() + "|")  # elimina espacios al principio  de la cadena
print("|" + cad6.rstrip() + "|")  # elimina espacios  al final de la cadena

# buscar subcadenas dentro de una cadena

print("mancha" in cad4)  # esto me devuelve true porque mancha es una subcadena de cad4
print("pepe" in cad4)  # esto me devuelve false porque pepe NO es una subcadena de cad4

pos = cad4.find("en")  # busca la cadena 'en' dentro de la cad4 y nos devuelve la posición
pos3 = cad4.lower().find("en")  # busca la cadena 'en' dentro de la cad4 y nos devuelve la posición
pos2 = cad4.find("un")  # busca la cadena 'en' dentro de la cad4 y nos devuelve la posición
print(pos)  # -1 porque la cadena 'en' no está, está 'En' que no es lo mismo
print(pos2)  # porque 'un' está en la posición 3
print(pos3)  # porque 'en' está en la posición 0 (al principio) si lo paso a minúsculas

pos4 = cad4.find("a")
while pos4 != -1:
    print(pos4)
    pos4 = cad4.find("a", pos4 + 1)  # todas las apariciones de la letra 'a' dentro de cad4

cad6="en casa en ocasiones entiendo mis enredos"
pos=cad6.find("en")
print(pos)
pos=cad6.find("en",1)
print(pos)
pos=cad6.find("en",9)
print(pos)

for i in range(len(cad4)):
    print(i,cad4[i])

# pasar de cadena a lista y viceversa
# split y join

lista=cad4.split() # me separa cada palabra y me la pone en una lista
print(lista)
print(len(lista)) # Número de palabras de la cadena
for palabra in lista:
    print(palabra) # Voy recorriendo cada palabra de la lista

print(cad6.count("en")) # todas las veces que aparece 'en' que puede ser dentro de una palabra
cont=0
for palabra in cad6.split():
    if palabra=="en":
        cont+=1
print(cont) # cuenta las veces que tenemos la palbra 'en'

cad7="1,2,3,4,5,6,7,8"
numeros=cad7.split(",")
print(numeros)
cad8="-".join(numeros)
print(cad8)

print(cad6[0:8:2]) # Voy de la posición 0 a la 8 de 2 en 2
print(cad6[8:0:-1]) # Voy de la posición 8 a la 0 de uno en uno pero al revés

print(cad6[:4]) # Va desde el principio hasta la posición 4
print(cad6[4:]) # Va desde  la posición 4 hasta el final
print(cad6[::-1]) # Invierte la cadena

invpalabras=""
for palabra in cad6.split():
    invpalabras+=palabra[::-1]+" "
print(invpalabras)

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos