Cómo usar la función subStr en c ++

Cómo usar la función subStr en c ++
La forma de cortar cualquier porción de una cadena se llama substing. La función subStr () existe en C ++ para generar una nueva cadena cortando una porción particular de una cadena. El cadena.H El archivo de la biblioteca debe incluir para usar esta función. Esta función tiene dos argumentos. El primer argumento contiene la posición inicial de la nueva cadena, y el segundo argumento contiene la longitud de la cadena. La forma de usar la función subStr () en c ++ se ha explicado en este tutorial.

Requisito previo

Antes de verificar los ejemplos de este tutorial, debe verificar que el compilador G ++ esté instalado o no en el sistema. Si está utilizando el código Visual Studio, instale las extensiones necesarias para compilar el código fuente de C ++ para crear el código ejecutable. Aquí, la aplicación de código de Visual Studio se ha utilizado para compilar y ejecutar el código C ++.

Sintaxis

String subStr (size_t pos = 0, size_t len ​​= npos) const;

Aquí, el primer argumento contiene la posición inicial desde donde se iniciará la subtracción, y el segundo argumento contiene la longitud de la subtracción. La función devolverá la sub-string si se dan la posición y longitud de inicio válidas. Los diversos usos de esta función se han mostrado en la siguiente parte de este tutorial.

Ejemplo 1: Uso simple de sustr ()

El siguiente ejemplo muestra el uso más común y simple de la función subStr (). Cree un archivo C ++ con el siguiente código para generar una subcadena desde un valor de cadena. Se ha asignado una cadena de múltiples palabras en una variable de cadena. A continuación, la posición inicial válida y la longitud de la sub-string tienen en los valores de argumento de la función subStr (). Tanto la cadena original como la subcadena se imprimirán después de ejecutar el código.

// Incluye las bibliotecas necesarias
#incluir
#incluir
int main ()
// Defina una variable de cadena
std :: string originalStr = "Bienvenido a Linuxhint";
// Corta la cadena substr ()
std :: string newstr = OriginalStr.subStr (11,9);
// imprime la cadena original
std :: cout <<"The original string is :" << originalstr << '\n';
// imprime la subcadena
std :: cout <<"The substring is :" << newstr << '\n';
regresar 0;

Producción:

Según el código, la cadena original es 'Bienvenido a Linuxhint'. 11 ha dado como la posición inicial de la subtracción que es la posición del carácter 'L', y 9 ha dado como valor de longitud de la subtracción. 'Linuxhint'ha devuelto como salida de la función subStr () después de ejecutar el código.

Ejemplo 2: Uso de substr () basado en la posición de una cadena específica

El siguiente código generará la sub-string después de buscar la posición de la cadena en particular. Cree un archivo C ++ con el siguiente código para probar el código. Se ha definido un valor de cadena de las múltiples palabras en el código. A continuación, la posición de una cadena en particular se busca en la cadena principal utilizando la función find (). La función substr () se ha utilizado para generar la sub-string que comienza desde el comienzo de la cadena hasta el valor de posición que devolverá la función find ().

#incluir
#incluir
usando el espacio de nombres STD;
int main ()

std :: string strData = "Me gusta la programación C ++";
// encontremos la posición de "-" usando str.encontrar()
Posición int = strData.encontrar ("programación");
// Obtendremos la subcadena hasta este patrón
std :: string newstr = strdata.subStr (0, posición);
std :: cout << strData << '\n';
std :: cout << newstr << '\n';
regresar 0;

Producción:

Según el código, el valor principal de la cadena es "Me gusta la programación C ++"Y el valor de la cadena de búsqueda es 'programación' que existe en la cadena principal. Entonces, la salida es, 'Me gusta c++'Después de ejecutar el código.

Ejemplo 3: Uso de SubStr () con manejo de excepciones

La función substr () se ha utilizado con manejo de excepciones en el siguiente código. Se generará la excepción si la posición inicial no válida se da en la función subStr (). Cree un archivo C ++ con el siguiente código para probar el código. En el bloque de try, se ha asignado un valor de cadena de una palabra y se ha utilizado una posición inicial no válida en la función subStr () que aumentará una excepción e imprimirá el mensaje de error.

#incluir
#incluir
int main ()
intentar
// Defina una variable de cadena
std :: string OriginalStr = "Linuxhint";
// Corta la cadena substr ()
std :: string newstr = OriginalStr.subStr (11,9);
// imprime la subcadena
std :: cout <<"The substring is :" << newstr << '\n';

Catch (const std :: out_of_range)
std :: cerr << "The position is out of Range.\n";

regresar 0;

Producción:

Según el código, el valor principal de la cadena es "Linuxhint"Y el valor de la posición inicial es 11 que no existe. Por lo tanto, se ha generado la excepción y el mensaje de error se ha imprimido después de ejecutar el código.

Ejemplo 4: usando subStr () para dividir la cadena

El siguiente ejemplo muestra el uso de la función subStr () para dividir una cadena basada en un delimitador. La función find () se ha utilizado para buscar la posición delimitador, y la función ERASE () se ha utilizado para eliminar la cadena dividida con el delimitador de la cadena principal. El bucle 'while' ha usado para encontrar todas las posiciones del delimitador en la cadena principal y almacenar el valor dividido en la matriz de vectores. A continuación, se han impreso los valores de la matriz vectorial.

linuxhint@hp34: ~ $ gat a.CPP
#incluir
#incluir
#incluir
int main ()
// Defina la cadena
std :: string stringData = "php: c ++: python:";
// Defina el separador
std :: string separator = ":";
// Declarar la variable vectorial
std :: vector Idiomas ;
// declarar variable entera
INT POSICIÓN;
// declarar variable de cadena
std :: string outstr;
/*
Dividir la cadena usando la función subStr ()
y agregar la palabra dividida al vector
*/
while ((posicion = stringData.encontrar (separador)) != std :: string :: npos)
lenguas.push_back (stringdata.subStr (0, posición));
stringdata.borrar (0, posición + separador.longitud());

// imprime todas las palabras divididas
para (const auto y outstr: idiomas)
std :: cout << outstr << std::endl;

regresar 0;

Producción:

Según el código, el valor principal de la cadena es "PHP: C ++: Python"Y el valor del delimitador es ': '. La siguiente salida aparecerá después de ejecutar el script anterior.

Conclusión

El objetivo principal de usar la función subStr () es recuperar una subcadena de una cadena mencionando la posición inicial y la longitud de la subtracción. Los diversos usos de esta función se han explicado en este tutorial mediante el uso de múltiples ejemplos para ayudar a los nuevos usuarios de C ++ a usarlo correctamente en su código.