Cómo comprobar si una cadena contiene una subcadena en Python

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo comprobar si una cadena contiene una subcadena en Python. El laboratorio te guía a través de la definición de subcadenas utilizando el corte (slicing) con índices positivos y negativos. Crearás un script de Python llamado substrings.py para extraer subcadenas de una cadena dada e imprimirlas en la consola.

El laboratorio demuestra cómo usar el corte (slicing) para definir subcadenas, extrayendo porciones de una cadena especificando índices de inicio y fin. Aprenderás a extraer subcadenas como "Hello" y "LabEx" de la cadena "Hello, LabEx!" y también cómo acceder al último carácter de la cadena utilizando índices negativos. El laboratorio incluye instrucciones sobre cómo ejecutar el script y verificar la salida.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") subgraph Lab Skills python/strings -.-> lab-559567{{"Cómo comprobar si una cadena contiene una subcadena en Python"}} python/conditional_statements -.-> lab-559567{{"Cómo comprobar si una cadena contiene una subcadena en Python"}} end

Definir Subcadenas

En este paso, aprenderás cómo definir subcadenas en Python. Una subcadena es una secuencia contigua de caracteres dentro de una cadena. Comprender cómo trabajar con subcadenas es esencial para muchas tareas de manipulación de cadenas.

Comencemos creando un script de Python llamado substrings.py en tu directorio ~/project. Puedes utilizar el editor de VS Code para crear este archivo.

## ~/project/substrings.py
string = "Hello, LabEx!"

Este script inicializa una variable de cadena llamada string con el valor "Hello, LabEx!".

Ahora, agreguemos algo de código para extraer subcadenas de esta cadena. Una forma sencilla de definir una subcadena es utilizando el corte (slicing). El corte te permite extraer una porción de una cadena especificando los índices de inicio y fin.

Agrega las siguientes líneas a tu archivo substrings.py:

## ~/project/substrings.py
string = "Hello, LabEx!"

substring1 = string[0:5]  ## Caracteres del índice 0 al 4
substring2 = string[7:12] ## Caracteres del índice 7 al 11

print(substring1)
print(substring2)

En este ejemplo, substring1 contendrá los caracteres desde el índice 0 hasta (pero sin incluir) el índice 5, que es "Hello". substring2 contendrá los caracteres desde el índice 7 hasta (pero sin incluir) el índice 12, que es "LabEx".

Para ejecutar el script, abre tu terminal en VS Code y ejecuta el siguiente comando:

python ~/project/substrings.py

Deberías ver la siguiente salida:

Hello
LabEx

También puedes utilizar índices negativos para definir subcadenas. Los índices negativos se cuentan desde el final de la cadena. Por ejemplo, string[-1] se refiere al último carácter de la cadena.

Modifica tu archivo substrings.py para incluir lo siguiente:

## ~/project/substrings.py
string = "Hello, LabEx!"

substring1 = string[0:5]  ## Caracteres del índice 0 al 4
substring2 = string[7:12] ## Caracteres del índice 7 al 11
substring3 = string[-1]   ## Último carácter

print(substring1)
print(substring2)
print(substring3)

Ahora, ejecuta el script nuevamente:

python ~/project/substrings.py

La salida ahora debería incluir el último carácter de la cadena:

Hello
LabEx
!

Comprender cómo definir subcadenas utilizando el corte (slicing) es una habilidad fundamental en Python. Experimenta con diferentes índices de inicio y fin para extraer diversas partes de la cadena.

Usar el operador in

En este paso, aprenderás cómo usar el operador in en Python para comprobar si una subcadena existe dentro de una cadena. El operador in es una forma sencilla y eficiente de determinar la presencia de una subcadena.

Continuemos trabajando con el archivo substrings.py que creaste en el paso anterior. Agregaremos código para comprobar si ciertas subcadenas están presentes en la cadena original.

Abre el archivo substrings.py en tu directorio ~/project utilizando el editor de VS Code.

## ~/project/substrings.py
string = "Hello, LabEx!"

substring1 = "Hello"
substring2 = "Python"

print(substring1 in string)
print(substring2 in string)

En este ejemplo, definimos dos subcadenas, substring1 y substring2. Luego, usamos el operador in para comprobar si cada subcadena está presente en la variable string. El operador in devuelve True si se encuentra la subcadena y False en caso contrario.

Para ejecutar el script, abre tu terminal en VS Code y ejecuta el siguiente comando:

python ~/project/substrings.py

Deberías ver la siguiente salida:

True
False

Esta salida indica que "Hello" está presente en la cadena "Hello, LabEx!", mientras que "Python" no lo está.

También puedes usar el operador in en declaraciones condicionales. Modifica tu archivo substrings.py para incluir lo siguiente:

## ~/project/substrings.py
string = "Hello, LabEx!"

substring1 = "Hello"
substring2 = "Python"

if substring1 in string:
    print(f"'{substring1}' is found in '{string}'")
else:
    print(f"'{substring1}' is not found in '{string}'")

if substring2 in string:
    print(f"'{substring2}' is found in '{string}'")
else:
    print(f"'{substring2}' is not found in '{string}'")

Ahora, ejecuta el script nuevamente:

python ~/project/substrings.py

La salida ahora debería ser más descriptiva:

'Hello' is found in 'Hello, LabEx!'
'Python' is not found in 'Hello, LabEx!'

El operador in es una herramienta poderosa para la manipulación de cadenas en Python. Te permite comprobar fácilmente la presencia de subcadenas dentro de una cadena, lo que hace que tu código sea más legible y eficiente.

Encontrar la posición con find()

En este paso, aprenderás cómo usar el método find() en Python para encontrar la posición de una subcadena dentro de una cadena. El método find() devuelve el índice de la primera aparición de la subcadena, o -1 si la subcadena no se encuentra.

Continuemos trabajando con el archivo substrings.py que creaste en los pasos anteriores. Agregaremos código para encontrar la posición de subcadenas específicas dentro de la cadena original.

Abre el archivo substrings.py en tu directorio ~/project utilizando el editor de VS Code.

## ~/project/substrings.py
string = "Hello, LabEx!"

substring1 = "LabEx"
substring2 = "Python"

position1 = string.find(substring1)
position2 = string.find(substring2)

print(position1)
print(position2)

En este ejemplo, definimos dos subcadenas, substring1 y substring2. Luego, usamos el método find() para encontrar la posición de cada subcadena dentro de la variable string.

Para ejecutar el script, abre tu terminal en VS Code y ejecuta el siguiente comando:

python ~/project/substrings.py

Deberías ver la siguiente salida:

7
-1

Esta salida indica que "LabEx" se encuentra en el índice 7 de la cadena "Hello, LabEx!", mientras que "Python" no se encuentra (indicado por -1).

También puedes usar el método find() con índices de inicio y fin opcionales para buscar una subcadena dentro de un rango específico. Modifica tu archivo substrings.py para incluir lo siguiente:

## ~/project/substrings.py
string = "Hello, LabEx! LabEx"

substring1 = "LabEx"

position1 = string.find(substring1)         ## Encontrar la primera aparición
position2 = string.find(substring1, 8)      ## Encontrar la aparición a partir del índice 8
position3 = string.find(substring1, 0, 5)   ## Encontrar la aparición dentro de los primeros 5 caracteres

print(position1)
print(position2)
print(position3)

Ahora, ejecuta el script nuevamente:

python ~/project/substrings.py

La salida ahora debería ser:

7
14
-1

En este ejemplo:

  • position1 encuentra la primera aparición de "LabEx" en el índice 7.
  • position2 comienza a buscar a partir del índice 8, por lo que encuentra la segunda aparición de "LabEx" en el índice 14.
  • position3 busca dentro de los primeros 5 caracteres de la cadena, por lo que no encuentra "LabEx" y devuelve -1.

El método find() es una herramienta versátil para localizar subcadenas dentro de una cadena. Comprender cómo usarlo con índices de inicio y fin opcionales te permite realizar búsquedas más específicas.

Resumen

En este laboratorio (lab), aprendiste cómo definir subcadenas en Python utilizando el corte de cadenas (string slicing). Creaste un script de Python para inicializar una cadena y luego extrajiste subcadenas especificando índices de inicio y fin, incluyendo el uso de índices negativos para acceder a caracteres desde el final de la cadena. El laboratorio demostró cómo imprimir estas subcadenas extraídas en la consola.

La principal lección es comprender cómo usar el corte con índices positivos y negativos para definir y extraer porciones específicas de una cadena, lo cual es una habilidad fundamental para la manipulación de cadenas en Python.