cpp

Cortar cadena en C++

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++

Cortar cadena en C++ usando substr

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í:

#include <iostream>
using namespace std;

int main()
{
    // https://parzibyte.me/blog
    string nombreCompleto = "Luis Cabrera Benito";
    // Extraer solo el nombre. Desde 0 tomar 4 caracteres
    string nombre = nombreCompleto.substr(0, 4);
    cout << "El nombre completo es " << nombreCompleto << " y el nombre sin apellidos es '" << nombre << "'" << endl;
}

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:

#include <iostream>
using namespace std;

int main()
{
    // https://parzibyte.me/blog
    string fecha = "20211128";
    string anio = fecha.substr(0, 4);
    string mes = fecha.substr(4, 2);
    string dia = fecha.substr(6, 2);
    // Extraer solo el nombre. Desde 0 tomar 4 caracteres
    cout << "Año " << anio << " Mes " << mes << " Día " << dia << endl;
}

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++.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.