Comprender las subcadenas en Python con ejemplos

Este artículo tiene como objetivo llevar al alumno a una mejor comprensión de las subcadenas en Python.

Le enseñará cómo crear una subcadena, extraer diferentes partes de ella de una cadena y cómo funcionan las subcadenas en Python usando varios ejemplos para implementar esto. Verificaremos aún más la existencia de la subcadena en una cadena.

Antes de comenzar, es esencial saber qué son una cadena y una subcadena. Una cadena es una secuencia de caracteres Unicode que consta de caracteres alfanuméricos y/o caracteres especiales. Podemos definir una subcadena como una parte de la secuencia de caracteres dentro de una cadena.

Discutiremos lo siguiente:

  • Creación de una subcadena.
  • Formas de dividir una subcadena.
  • Número de ocurrencias de una subcadena
  • Encontrar la presencia de una subcadena en una cadena.

¡Vamos a empezar!

Crear una subcadena

Una subcadena se crea principalmente utilizando la técnica de corte. Esta técnica permite la extracción de la subcadena definiendo los delimitadores de índice de inicio, índice de finalización y paso. Estos delimitadores permiten la extracción especificando el índice preciso de los caracteres que desea obtener.

La sintaxis se ve así:

string[begin-index: end-index: step]

Tenga en cuenta que el valor de índice en cualquier cadena comienza desde cero.

El parámetro begin-index indica el índice inicial de la subcadena. Por lo tanto, si omite este elemento al dividir, Python asume automáticamente que su valor de índice es cero.

End-index es el último índice de la subcadena. Cuando no lo menciona, el corte asume que su valor es igual a la longitud de la cadena.

Paso: Indica el siguiente carácter a considerar después del carácter actual. El valor de este parámetro suele ser uno. Cuando se omite el parámetro de paso durante el corte, se sigue suponiendo que su valor es uno.

Maneras de cortar una cuerda

Hay varias formas de obtener una subcadena a partir de una cadena. Éstos incluyen:

#1. Rebanar usando begin-index y end-index.

String = string[begin-index : end-index]

En caso de que desee obtener el nombre de pila de una persona a partir de su nombre completo, lo implementará de esta manera:

string = 'Michael Doe'

print(string[0:7])

La salida será:

Michael

#2. Rebanar usando el índice de inicio sin el índice final.

String= string[begin-index:]

Aquí, solo indicamos desde qué índice queremos comenzar a extraer nuestros caracteres de subcadena de la cadena, cortando extractos hasta el último índice de la cadena completa que generalmente tiene un índice de -1.

Ejemplo:

string = 'This is to demonstrate slicing of a string using the begin-index without the end-index'

print(string[7:])

Producción:

to demonstrate slicing of a string using the begin-index without the end-index

#3. Cortar utilizando el índice final sin el índice inicial.

String = string[:end-index]

Aquí, indicamos el último carácter que debe incluir la subcadena, dejando de lado donde debe comenzar. Por lo tanto, el corte mostrará la subcadena que comienza con el carácter de índice cero de la cadena.

Ejemplo:

string = 'This is to demonstrate slicing of a string using the end-index without the begin-index'

print(string[:9])

Producción:

This is t

#4. Cortando toda la cadena.

String = string[ : ]

En este caso, no identificamos ninguno de los delimitadores; por lo tanto, se devuelve la cadena completa.

Ejemplo

string = 'This is to demonstrate slicing of the entire string'

print(string[:])

Producción:

This is to demonstrate slicing of the entire string

#5. Cortar un solo carácter de una cadena.

String = string[index]

Aquí se corta un valor de índice preciso de un carácter de la cadena.

Ejemplo:

string = 'This is to demonstrate slicing of a single character from a string'

print(string[8])

La ‘t’ en ‘to’ se imprime ya que su valor de índice es 8.

#6. Rebanar utilizando el índice de inicio, el índice final y el paso.

Ejemplo

string = 'This is to demonstrate slicing of the string using the begin-index, step, and end-index'

print(string[11:24:1])

Cuando el valor del paso se establece en 1, se produce un corte normal y aquí se emite lo siguiente.

demonstrate s

Usando el mismo ejemplo, establezcamos el valor del paso en 2.

string = 'This is to demonstrate slicing of the string using the begin-index, step, and end-index'

print(string[11:24:2])

El corte de los caracteres se realizará en pasos de 2 como este.

dmntaes

La división extrae el segundo carácter después del actual. Por lo tanto, Python slices’ demuestra s’ a Dmntaes.

#7. Invertir una cadena usando un paso negativo.

En este ejemplo, la cadena completa se mostrará desde el último carácter de la cadena hasta el primero.

string = 'This is to demonstrate reversing string using the negative step'

print(string[::-1])

Producción:

pets evitagen eht gnisu gnirts gnisrever etartsnomed ot si sihT

El paso negativo funciona así:

R
mi
V
mi
R
S
mi
0
1
2
3
4
5
6
-6
-5
-4
-3
-2
-1

El valor de índice de inicio de la cadena inversa anterior comienza en 0 de forma predeterminada y termina en 6. El paso negativo invierte el valor de índice del último carácter y lo aplica al primer carácter, y niega este valor.

Más ejemplos de rebanado

Obtención de los primeros cuatro caracteres de subcadena en una cadena.

string = 'characters'

print(string[0:4])

Saldrá:

char

Encontrar la presencia de una subcadena en una cadena

Python usa la función find() o el operador ‘in’ para verificar la existencia de una subcadena en una cadena.

Usando el ejemplo del operador ‘in’

string = 'this is to demonstrate that a particular substring is found in a string '
if 'find' in string: 
    print('The substring is found') 
else: 
    print('Could not find the substring defined')

Producción:

Could not find the substring defined

El ejemplo anterior comprueba si la subcadena ‘buscar’ está presente en la cadena declarada. Dado que la subcadena no se encuentra en la cadena, el resultado es como se muestra arriba.

Reemplazar la subcadena ‘buscar’ con la subcadena ‘eso’ y verificar si existe en la cadena o no devolvería ‘se encontró la subcadena’ porque está presente en la cadena.

Usando el ejemplo de la función find():

string = 'using string to find if a substring is present in a string'

if string.find('found') != -1:

    print("The substring 'found' exists")

else:

    print("The substring 'found' does not exist")

producción:

<code class="language-python">The substring 'found' does not exist

En el ejemplo anterior, intentamos encontrar una subcadena que no sea parte de nuestra cadena. Como hemos visto anteriormente, la función find () verifica toda la cadena y no encuentra esta subcadena ‘encontrada’ en particular, devuelve el resultado ‘La subcadena encontrada no existe’ como salida.

Encontrar el número de ocurrencias de una subcadena

Python usa la función count() que implementa esta condición, como en el ejemplo a continuación.

string = " Counting the number of occurrences of 'o' in this string "

print("The 'o' substring count is: ",string.count('o'));

Producción:

The 'o' substring count is:  5

Conclusión

Este artículo debería brindarle una mejor comprensión de qué es una subcadena en Python, cómo crearla y explica claramente la idea de dividir y cómo implementarla. Usando los ejemplos proporcionados anteriormente como pautas, practique más ejemplos para comprender mejor el concepto.

También puede aprender cómo crear un juego de adivinanzas con Python o cómo obtener datos JSON en Python.

¡Feliz codificación!