La cadena C++ contiene una subcadena

La Cadena C Contiene Una Subcadena



En C++, tenemos el tipo de datos de cadena y podemos aplicar las diferentes funciones para realizar diversas tareas con las cadenas. Podemos comprobar si la subcadena está presente dentro de la cadena original. También podemos decir que la “cadena contiene la subcadena”. En esta guía, aprenderemos las técnicas que nos ayudan a encontrar la 'cadena que contiene la subcadena'. Las funciones “find()” y “strstr()” nos ayudan a realizar esta tarea en la programación en C++.

Ejemplo 1:

'iostream' y 'string' son los archivos de encabezado que se incluyen aquí, ya que tenemos que trabajar con las cadenas y también ingresar o generar datos. Entonces, debemos incluir estos archivos de encabezado aquí. Después de esto, incluimos el 'espacio de nombres estándar' con la ayuda de la palabra clave 'usando'. Por lo tanto, no necesitamos poner este 'std' con todas las funciones por separado en nuestro código. Luego, aquí se invoca la función “main()”.







Ahora declaramos la cadena 'str_1' y asignamos algunos datos de cadena a esta variable. Luego, también inicializamos otra variable llamada 'str_2' del tipo de datos 'cadena' y asignamos 'me gusta' a esta variable 'str_2'. Debajo de esto, utilizamos la palabra clave 'bool' para brindar resultados verdaderos o falsos. Inicializamos 'stringHasStr' con este tipo de datos 'bool' y utilizamos la función 'find()'. Esto busca la 'cadena que contiene la subcadena'. 'str_1' es la cadena completa y 'str_2' es la subcadena.



Aquí también agregamos la palabra clave 'npos' que se utiliza para mostrar que no hay coincidencias en esta cadena. Comprueba si la cadena contiene una subcadena y almacena el resultado en esta variable bool 'stringHasStr'.



Luego, avanzamos hacia la condición 'si' y pasamos esta variable 'stringHasStr' a esta condición 'si'. Si el resultado almacenado en esta variable bool es 'verdadero', se emplea la declaración después de esta condición 'si' donde utilizamos 'cout' y mostramos la cadena que se encuentra aquí. Pero si el resultado 'falso' se almacena en esta variable bool, se emplea la otra parte y muestra que la cadena no se encuentra aquí.





Código 1:

#incluir
#incluir

usando el espacio de nombres estándar;
ent principal ( )
{
cadena str_1 = 'Me gusta el lenguaje de programación C++' ;
cadena str_2 = 'como' ;
bool cadenaHasStr = str_1.find ( str_2 ) ! = cadena::npos;
    si ( cadenaHasStr ) {
corte << 'Aquí encontramos la cadena que es ' << str_2 << fin;
    }
    demás {
corte << 'La cadena no encontrada' << fin;
    }
    devolver 0 ;
}

 



Producción:

Esta salida dada muestra que la cadena contiene la subcadena y la muestra aquí. Comprobamos esto utilizando la función 'buscar()'.

Ejemplo 2:

Aquí incluimos tres archivos de encabezado que son 'iostream', 'string' y 'cstring'. Luego, invoque “main()” después de colocar el “namespace std”. Ahora se declara la cadena 'new_str' y se asignan algunos datos de cadena.

A continuación, inicializamos una segunda variable del tipo de datos 'cadena' llamada 'sub_str' y le damos el valor 'muy'. Luego, colocamos el “const char*”. Por lo tanto, es imposible cambiar el valor del puntero para que apunte a otra ubicación en la memoria. Aquí declaramos la variable 'FindingStr' como este puntero 'const char*'. Lo inicializamos con el método “strstr()” y pasamos ambas cadenas junto con la función “c_str()” que transforma una cadena en una matriz de caracteres que termina con un valor nulo. Este método 'strstr()' ayuda a comprobar si la cadena 'new_str' contiene la subcadena 'sub_str' o no. Luego, tenemos 'si' en el que agregamos 'FindingStr'. Si encuentra la subcadena en el original, se ejecuta la declaración después de 'if' donde utilizamos 'cout'. Si no se encuentra la subcadena, se mueve directamente hacia la parte 'otro' e imprime el resultado que se coloca después de la parte 'otro'.

Código 2:

#incluir
#incluir
#incluir

usando el espacio de nombres estándar;
ent principal ( )
{
cadena nueva_cadena = 'Afuera está lloviendo y el tiempo es muy agradable'. ;
cadena sub_str = 'muy' ;
carácter constante * FindingStr = strstr ( nueva_str.c_str ( ) , sub_str.c_str ( ) ) ;
    si ( EncontrarStr ) {
corte << 'Encontramos la cadena y la cadena es: ' << cadena_sub << fin;
    }
    demás {
corte << 'Cadena no encontrado' << fin;
    }
    devolver 0 ;
}

 

Producción:

Podríamos notar que la cadena dada contiene la subcadena, ya que muestra la declaración que agregamos después de 'si' e imprime la subcadena aquí. Comprobamos esto utilizando la función 'strstr()'.

Ejemplo 3:

Aquí inicializamos dos variables de cadena: 'myNewStr' y 'mySubStr'. Luego, asignamos algunos datos de cadena y declaramos dos variables enteras: 'posOfStr' e 'indexOfStr'.

Debajo de esto, utilizamos el bucle ' while() ' y asignamos la variable de función 'find()' a la variable 'indexOfStr' dentro de este bucle ' while() '. Pasamos dos variables a esta función 'find()' que son 'mySubStr' y 'posOfStr'. Luego, colocamos la palabra clave “npos” la cual comprueba que el resultado de la función “buscar” no sea igual a “npos”. Después de esto, utilizamos el 'cout' que incrementa el valor del índice en uno y lo almacena en la variable 'posOfStr'.

Código 3:

#incluir
#incluir

usando el espacio de nombres estándar;
ent principal ( ) {
cadena miNewStr = 'Estamos encontrando la cadena aquí' ;
cadena miSubStr = 'cadena' ;
int posDeStr = 0 ;
int indexOfStr;
    mientras ( ( indexOfStr = myNewStr.buscar ( mySubStr, posOfStr ) ) ! = cadena::npos ) {
corte << 'La subcadena es' << ''' << miSubStr << ''' << 'Encontrado en el número de índice:' << indexOfStr << fin;
posOfStr = índiceDeStr + 1 ;
    }
        devolver 0 ;
}

 

Producción:

Aquí, muestra que la cadena dada contiene la subcadena y el número de índice de esta cadena es '19', que también se muestra en este resultado.

Ejemplo 4:

En este código, incluimos el archivo de encabezado 'bits/stdc++.h'. Ahora, no necesitamos incluir otros archivos de encabezado ya que contienen todas las bibliotecas necesarias. Después de invocar “main()”, inicializamos las variables “org_str” y “sub_str” del tipo de datos “string”. Luego, agregamos la condición 'si' en la que utilizamos la función 'strstr()'. Esta función busca para ver si la cadena dada contiene la subcadena deseada. Luego, agregamos una declaración 'cout' para imprimir que la subcadena se encuentra aquí. Luego, también ponemos la parte “else” que se ejecuta solo cuando la condición “si” no se cumple o la subcadena no se encuentra en la cadena.

Después de esto, declaramos la variable 'sub_str2' y asignamos aquí una cadena de datos. Luego se inserta la condición 'si' y se utiliza la función 'strstr()'. Este método busca si la cadena proporcionada contiene o no la subcadena solicitada. Luego, el resultado se imprime aquí usando el comando 'cout'. También incluimos una sección 'otro' que solo se ejecuta si no se cumple la condición 'si' o si la subcadena no se puede ubicar en la cadena.

Código 4:

#incluir
usando el espacio de nombres estándar;
ent principal ( ) {
cadena org_str = 'Lenguaje de programación C++' ;
cadena sub_str = 'Programa' ;
    si ( strstr ( org_str.c_str ( ) ,sub_str.c_str ( ) ) )
    {
corte << 'La subcadena aquí es ' << ''' << cadena_sub << ''' << 'está presente en' << cadena_org << fin;
    }
    demás {
corte << 'La subcadena no está presente en la cadena'. << fin;
    }
cadena sub_str2 = 'Java' ;

    si ( strstr ( org_str.c_str ( ) ,sub_str2.c_str ( ) ) )
    {
corte << 'La subcadena aquí es ' << ''' << sub_str2 << ''' << 'está presente en' << cadena_org << fin;
    }
    demás {
corte << 'La subcadena no está presente en esta cadena'. << fin;
    }
devolver 0 ;
}

 

Producción:

El resultado de la primera función 'strstr()' muestra que la cadena contiene la subcadena, pero el resultado de la segunda función 'strstr()' muestra que la subcadena no está presente en la cadena.

Conclusión

En esta guía se examina detenidamente el concepto de 'cadena que contiene la subcadena'. Exploramos dos métodos que ayudan a buscar si la 'cadena contiene la subcadena'. Explicamos las funciones “find()” y “strstr()” que C++ proporciona aquí en esta guía para realizar esta tarea. Lo demostramos con ejemplos únicos en los que aprendimos cómo utilizar estas funciones para verificar si la 'cadena contiene la subcadena'.