En este post de programación en C++ con cadenas o strings te mostraré cómo extraer una subcadena de una cadena.
Dicho en otras palabras, te enseñaré a cortar una cadena en C++. Por ejemplo, extraer solo los primeros 4 N caracteres de una string o extraer una porción de la misma.
Todo esto lo haremos con la función substr
de C++.
Explicando la función
Vamos a trabajar con substr en C++. Esta función la tienen las cadenas de este lenguaje, de modo que la invocamos así:
cadena_nueva = cadena.substr()
Pero debemos pasarle argumentos a substr
. El primer argumento indica el índice desde dónde comenzar a extraer, y el segundo argumento indica cuántos caracteres extraer.
No te confundas, pues para cortar una cadena no basta con indicar el inicio y fin, sino que debemos especificar el inicio y la cantidad que se debe extraer.
Ejemplo: extraer subcadena con C++

En este ejemplo tenemos un nombre con apellidos, pero vamos a cortar la cadena de modo que ahora obtengamos una nueva porción que solo tenga el nombre.
Debido a que sabemos que el nombre tiene 4 letras podemos invocar a substr
para que tome 4 caracteres desde el índice 0. Así:
La salida ya la pudiste ver en la imagen anterior.
Otro ejemplo para cortar una string con C++
Para finalizar el post (pues con la sintaxis es suficiente) te mostraré otro ejemplo. En este caso vamos a extraer el año, mes y día de una fecha.
La fecha que vamos a descomponer tiene el formato YYYYMMDD
. El código para este caso es el siguiente:
Ahora invocamos a substr
cambiando un poco los argumentos. Para el año extraemos 4 caracteres desde el índice 0, para el mes tomamos 2 caracteres desde el índice 4 y finalmente para el día tomamos 2 caracteres desde el índice 6.
La salida en este caso es: Año 2021 Mes 11 Día 28
.
Finalmente te dejo con más tutoriales de programación en C++.