Método find string
Hay dos opciones para encontrar un subtring dentro de una string en Python, find()
y rfind()
.
Cada uno retorna la posición en la que se encuentre la substring. La diferencia entre los dos, es que find()
retorna la posición de la primera similitud de la substring y rfind()
retorna la última posición de la similitud de la substring.
Nosotros podemos proveer algunos argumentos opcionales de inicio y fin para limitar la búsqueda de la substring, dentro de los limites del string.
Ejemplo:
>>> cadenaDeTexto = "Es peor cometer una injusticia que padecerla porque quien la comete se convierte en injusto y quien la padece no."
>>> string.find('quien')
52
>>> string.rfind('quien')
94
Si, el substring no es encontrado retorna -1.
>>> string = "Es peor cometer una injusticia que padecerla porque quien la comete se convierte en injusto y quien la padece no."
>>> string.find('quien', 53) # find 'quien' ubicado desde la posición 52 y 94
-1
Más información:
Método find() string documentación.
Método string join
El método str.join(iterable)
es usado para unir todos los elementos de un iterable
con un espefico string str
in Python. Si, el iterable no contiene ningún valor en los strings, Esto conduce a un TypeError exception.
iterable
: Todos los iterables de un string. Podrian ser listas, tuplas de strings o un string plano.
Ejemplos
Concatena la lista de strings con ":"
print(":".join(["freeCodeCamp", "es", "divertido"]))
Resultado:
freeCodeCamp:es:divertido
Concatena una tupla de strings con: " y "
print(" y ".join(["A", "B", "C"]))
Resultado:
A y B y C
Inserta un " "
después de cada carácter en un string
print(" ".join("freeCodeCamp"))
Resultado:
f r e e C o d e C a m p
Concatenando una lista de caracteres
listChar = ['p','r','o','g','r','a','m']
print("".join(listChar))
Resultado:
program
Uniendo sets
test = {'2', '1', '3'}
s = ', '
print(s.join(test))
Resultado:
2, 3, 1
Más información:
Documentación Python método String Join
Método string replace
El mistr.replace(viejoString, nuevoString, numeroDeVeces)
método es usado para reemplazar el substring: viejoString
con el nuevoString
que se reemplaza un numerodeveces
. Éste método retorna una nueva copia del string reemplazado. El string original mistr
no se ha modificado.
Ejemplos
- Reemplaza las ocurrecencias
"es"
con"FUE"
string = "Esto es bonito. Esto es bueno."
newString = string.replace("es","FUE")
print(newString)
Resultado:
Esto FUE bonito. Esto FUE bueno.
- Reemplaza las primeras dos ocurrencias
"es"
con"FUE"
string = "Para mi esto es bonito. Esto es bueno."
nuevoString = string.replace("es","FUE", 2)
print(nuevoString)
Resultado:
Para mi FUEto FUE bonito. Esto es bueno.
Más información:
Leer más información sobre el reemplazo de strings in the Python docs.
Método string strip
Hay 3 opciones para hacer eliminación de caracteres (stripping) de un string en Python: lstrip()
, rstrip()
y strip()
.
Cada uno retorna la posición del string con los caracteres removidos, al inicio y final o ambos. Si, no existen argumentos dados, por default para cortar o eliminar sera un espacio en blanco.
Ejemplo:
>>> string = ' Hola, Mundo! '
>>> cortar_izquierda = string.lstrip()
>>> cortar_izquierda
'Hola, Mundo! '
>>> cortar_derecha = string.rstrip()
>>> cortar_derecha
' Hola, Mundo!'
>>> cortar_ambos_lados = string.strip()
>>> cortar_ambos_lados
'Hola, Mundo!'
Como argumento opcional de strip, nosotro podemos proveer todos los caracteres que deseemos hacer stripping o eliminar.
>>> url = 'www.ejemplo.com/'
>>> url.strip('w./')
'ejemplo.com'
Sin embargo noten que el solamente el primer .
fue eliminado del string. Esto es porque el strip
function, solamente hace strip priorizando los argumentos de a izquierda a derecha. Desde w
viene antes el .
, entonces hace stripping, luego sigue con cada argumento.
Método string split
El split()
function, es usado usualmente para dividir strings.
El método split()
Template: string.split(separador, maxdivision)
separador
: El delimitador del string. Tú divides el string basado en estos caracteres. Por ejemplo (" "), (":"), (";"), etc.
maxdivision
: El número de veces a dividir el string basados en el separador
. Si, no especificamos éste número o ponemos -1, el string tomara todas las occurrencias del separator
.
Este metodo retorna una lista de substrings delimitados por el separator
.
Ejemplos
String dividido con espacio en blanco " "
string = "freeCodeCamp is fun."
print(string.split(" "))
Resultado:
['freeCodeCamp', 'is', 'fun.']
String dividido con coma: ","
string = "freeCodeCamp, es divertido, y informativo"
print(string.split(","))
Resultado:
['freeCodeCamp', 'es divertido', ' y informativo']
separator
no especificado
string = "freeCodeCamp es divertido y informativo"
print(string.split())
Resultado:
['freeCodeCamp', 'es', 'divertido', 'y', 'informativo']
Nota: Si el separator
no es espeficado, Entonces el string se divide con el carácter por default el cual es " ". Tomara todas las ocurrencias del delimitador " ".
string = "freeCodeCamp es divertido y informativo"
print(string.split())
Resultado:
['freeCodeCamp', 'es', 'divertido', 'y', 'informativo']
Divide el string usando maxdivision
. Aquí nosotros dividimos el string con " " dos veces:
string = "freeCodeCamp es divertido y informativo"
print(string.split(" ", 2))
Resultado:
['freeCodeCamp', 'es', 'divertido y informativo']
Traducido del artículo - Python String Methods Explained with Examples