Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Búsqueda y Medición | Cadenas de Texto
Tipos de Datos en Python

bookBú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.

123
s = "Python programming" print("gram" in s) # True print("Java" not in s) # True
copy

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 a find, pero lanza ValueError si la subcadena no existe.
12345
s = "abracadabra" print(s.find("bra")) # 1 print(s.rfind("bra")) # 8 print(s.find("xyz")) # -1 print(s.index("xyz")) # ValueError
copy

Contar ocurrencias

count(sub) devuelve cuántas veces aparece la subcadena de forma no superpuesta.

123
s = "banana" print(s.count("a")) # 3 print(s.count("na")) # 2
copy

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.

123
fname = "report_final.pdf" print(fname.startswith("report")) # True print(fname.endswith(".pdf")) # True
copy

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()).

123
msg = "Hello, World!" print("hello" in msg.lower()) # True print(msg.lower().startswith("hello")) # True
copy
Note
Nota

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"?

question mark

¿Qué mostrará este código como salida?

Select the correct answer

question mark

¿Qué instrucción no genera un error cuando falta la subcadena?

Select the correct answer

question mark

Dado s = "Banana", ¿qué expresión devuelve True sin distinguir mayúsculas y minúsculas al comprobar el prefijo "ba"?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

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

bookBú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.

123
s = "Python programming" print("gram" in s) # True print("Java" not in s) # True
copy

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 a find, pero lanza ValueError si la subcadena no existe.
12345
s = "abracadabra" print(s.find("bra")) # 1 print(s.rfind("bra")) # 8 print(s.find("xyz")) # -1 print(s.index("xyz")) # ValueError
copy

Contar ocurrencias

count(sub) devuelve cuántas veces aparece la subcadena de forma no superpuesta.

123
s = "banana" print(s.count("a")) # 3 print(s.count("na")) # 2
copy

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.

123
fname = "report_final.pdf" print(fname.startswith("report")) # True print(fname.endswith(".pdf")) # True
copy

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()).

123
msg = "Hello, World!" print("hello" in msg.lower()) # True print(msg.lower().startswith("hello")) # True
copy
Note
Nota

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"?

question mark

¿Qué mostrará este código como salida?

Select the correct answer

question mark

¿Qué instrucción no genera un error cuando falta la subcadena?

Select the correct answer

question mark

Dado s = "Banana", ¿qué expresión devuelve True sin distinguir mayúsculas y minúsculas al comprobar el prefijo "ba"?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 3
some-alt