Búsqueda y Medición
Una vez que puedes leer partes de una cadena, el siguiente paso es formular preguntas sobre su contenido: "¿contiene esto?", "¿dónde está?", "¿cuántas veces?", "¿empieza/termina con…?".
Pertenencia
Utiliza in para comprobar si una subcadena aparece en cualquier parte de una cadena. Devuelve un valor booleano.
123s = "Python programming" print("gram" in s) # True print("Java" not in s) # True
Encontrar posiciones
find(sub)devuelve el índice inicial de la primera coincidencia, o -1 si no se encuentra;rfind(sub)busca desde la derecha y devuelve el índice de la última coincidencia (o -1);index(sub)es similar afind, pero lanzaValueErrorsi la subcadena no existe.
12345s = "abracadabra" print(s.find("bra")) # 1 print(s.rfind("bra")) # 8 print(s.find("xyz")) # -1 print(s.index("xyz")) # ValueError
Contar ocurrencias
count(sub) devuelve cuántas veces aparece la subcadena de forma no superpuesta.
123s = "banana" print(s.count("a")) # 3 print(s.count("na")) # 2
Comienza y termina
Para comprobar el inicio o el final de una cadena, utilizar startswith o endswith; estas opciones son más claras y seguras que el uso de cortes cuando solo se necesita una respuesta sí/no.
123fname = "report_final.pdf" print(fname.startswith("report")) # True print(fname.endswith(".pdf")) # True
Comprobaciones sin distinción entre mayúsculas y minúsculas (simples y prácticas)
Los métodos de cadena distinguen entre mayúsculas y minúsculas. Para realizar búsquedas sin distinción, normalizar ambos lados con .lower() (o .upper()).
123msg = "Hello, World!" print("hello" in msg.lower()) # True print(msg.lower().startswith("hello")) # True
Ya utilizamos len() en el capítulo anterior para medir la longitud; aquí nos centramos en comprobaciones de contenido y ubicaciones.
1. ¿Qué mostrará este código como salida?
2. ¿Qué instrucción no genera un error cuando falta la subcadena?
3. Dado s = "Banana", ¿qué expresión devuelve True sin distinguir mayúsculas y minúsculas al comprobar el prefijo "ba"?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Can you explain the difference between find and index methods?
How do I perform a case-insensitive substring search?
What happens if the substring is not found when using rfind?
Awesome!
Completion rate improved to 5
Búsqueda y Medición
Desliza para mostrar el menú
Una vez que puedes leer partes de una cadena, el siguiente paso es formular preguntas sobre su contenido: "¿contiene esto?", "¿dónde está?", "¿cuántas veces?", "¿empieza/termina con…?".
Pertenencia
Utiliza in para comprobar si una subcadena aparece en cualquier parte de una cadena. Devuelve un valor booleano.
123s = "Python programming" print("gram" in s) # True print("Java" not in s) # True
Encontrar posiciones
find(sub)devuelve el índice inicial de la primera coincidencia, o -1 si no se encuentra;rfind(sub)busca desde la derecha y devuelve el índice de la última coincidencia (o -1);index(sub)es similar afind, pero lanzaValueErrorsi la subcadena no existe.
12345s = "abracadabra" print(s.find("bra")) # 1 print(s.rfind("bra")) # 8 print(s.find("xyz")) # -1 print(s.index("xyz")) # ValueError
Contar ocurrencias
count(sub) devuelve cuántas veces aparece la subcadena de forma no superpuesta.
123s = "banana" print(s.count("a")) # 3 print(s.count("na")) # 2
Comienza y termina
Para comprobar el inicio o el final de una cadena, utilizar startswith o endswith; estas opciones son más claras y seguras que el uso de cortes cuando solo se necesita una respuesta sí/no.
123fname = "report_final.pdf" print(fname.startswith("report")) # True print(fname.endswith(".pdf")) # True
Comprobaciones sin distinción entre mayúsculas y minúsculas (simples y prácticas)
Los métodos de cadena distinguen entre mayúsculas y minúsculas. Para realizar búsquedas sin distinción, normalizar ambos lados con .lower() (o .upper()).
123msg = "Hello, World!" print("hello" in msg.lower()) # True print(msg.lower().startswith("hello")) # True
Ya utilizamos len() en el capítulo anterior para medir la longitud; aquí nos centramos en comprobaciones de contenido y ubicaciones.
1. ¿Qué mostrará este código como salida?
2. ¿Qué instrucción no genera un error cuando falta la subcadena?
3. Dado s = "Banana", ¿qué expresión devuelve True sin distinguir mayúsculas y minúsculas al comprobar el prefijo "ba"?
¡Gracias por tus comentarios!