El procesamiento de texto consiste en manipular strings para:
Hasta ahora sabemos:
s = "hola"
t = "mundo"
s+t
s*2
s[3]
s in t
list("abc")
Utilizando el caracter backslash (\) se pueden llamar a secuencias de escape que normalmente serían interpretadas como strings.
'\n'
.print
.a = "piano\nviolin\noboe"
print(a)
No obstante, la secuencia de escape es parte del string.
a
\t
a = "piano\tviolin\toboe"
print(a)
a
len("\n")
len("\t")
len("piano\nviolin\noboe")
El método s.strip()
remueve espacios y caracteres especiales que aparezcan antes y después de algún texto.
s = "hola mundo\n"
print(s)
print(s.strip())
s
s.strip()
Importante: El método strip
no remueve espacios, ni caracteres especiales que estén en medio de las palabras.
"hola\nmundo\n".strip()
El método s.replace(antes,despues)
que reemplaza totas las apariciones del texto antes
por el texto despues
en s
.
orden = "Quiero arroz con pollo"
orden.replace("arroz","pure")
print(orden.replace("arroz","pure"))
orden = orden.replace("arroz","pure")
print(orden)
El valor del string NO cambia
a = "11111111-5"
# reemplazar el caracter '1' por '2' en la variable a (que es un string)
a.replace("1","2")
# reemplazar el caracter '1' por '2' en la variable a (que es un string)
# solo se reemplaza 2 veces
a.replace("1","2",2)
s.split()
separa un string en varios substrings usando el espacio en blanco como separador.s.split(sep)
separa un string en varios substrings usando el texto sep
como separador.s = "Ana lavaba las sabanas"
s.split()
s.split("aba")
print(s)
¿Qué tipo de dato entrega el método split
?
El método s.join(iterable)
une los strings de la variable iterable
utilizando a s
como pegamento.
valores = ['0', '1', '2', '3', '4', '5']
pegamento = " "
pegamento.join(valores)
",".join(valores)
valores
"".join(valores)
" ".join([1,2,4])
" ".join(("1","2","4"))
" ".join("1245")
La interpolación de strings permite generar una plantilla que puede ser rellenada con información dinámica.
s = "Soy {0} y vivo en {1}"
s.format("Perico","Valparaiso")
s.format("Erika","Berlin")
s.format("Wang Dawei","Beijing")
print(s)
{0}
y {1}
se llaman campos, y el método format
va rellenando los campos en orden."{1}{0}{2}{0}".format("a","v","c")
"{0} y {1}".format("carne","huevos")
"{1} y {0}".format("carne","huevos")
"{2}".format("a")
"{0}, {1} {3}".format("casa", "azul", "grande", "verde")
s = "{nombre} estudia en la {universidad}"
s.format(nombre="Perico", universidad="UTFSM")
s.format(universidad="PUC",nombre="Yayita")