0Pricing
C++ Academy · Lección

Operaciones con strings: concat, substr, find y replace

Concatene, extraiga, busque y reemplace contenido de strings con la API de std::string.

Operaciones con strings: concat, substr, find y replace es una lección gratuita de C++ Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C++ Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C++ Academy incluye 4 lecciones en total.

Concatenación con +

El operador + une dos cadenas en una nueva. += añade contenido en la cadena existente.

std::string a = "Hello, ";
std::string b = "World";
std::string c = a + b;     // "Hello, World"
a += b;                    // a is now "Hello, World"

Añadir contenido de forma eficiente

Repetir + con cadenas largas crea muchos objetos temporales. Use += o append() en bucles críticos para el rendimiento.

std::string result;
for (auto& word : words) {
    result += word;
    result += ' ';
}

Subcadena con substr

substr(pos, len) devuelve una cadena nueva que comienza en pos. len toma por defecto el resto de la cadena.

std::string s = "Hello, World";
std::cout << s.substr(0, 5);   // "Hello"
std::cout << s.substr(7);      // "World"

Búsqueda de subcadenas: find

find(needle) devuelve el índice de la primera coincidencia, o std::string::npos si no se encuentra.

std::string s = "the quick brown fox";
auto pos = s.find("quick");
if (pos != std::string::npos)
    std::cout << "Found at " << pos;

Búsqueda desde una posición

Pase un segundo argumento para comenzar la búsqueda desde un índice específico; resulta útil para encontrar todas las apariciones.

std::string s = "abc abc abc";
size_t pos = 0;
while ((pos = s.find("abc", pos)) != std::string::npos) {
    std::cout << pos << ' ';
    pos += 3;
}

rfind: buscar desde el final

rfind encuentra la última aparición. find_first_of y find_last_of buscan cualquier carácter de un conjunto.

Reemplazo en el sitio

replace(pos, len, str) sustituye len caracteres en pos por str; la cadena nueva puede tener una longitud diferente.

std::string s = "Hello, World";
s.replace(7, 5, "C++");
std::cout << s;  // "Hello, C++"

Borrado de caracteres

erase(pos, len) elimina una subcadena. Llamar a erase() sin argumentos borra toda la cadena.

std::string s = "Hello, World";
s.erase(5, 2);          // removes ", "
std::cout << s;         // "HelloWorld"

Inserción de caracteres

insert(pos, str) inserta str en pos y desplaza todo lo demás hacia la derecha.

std::string s = "HelloWorld";
s.insert(5, ", ");
std::cout << s;  // "Hello, World"

Comparación de cadenas

Utilice los operadores de comparación estándar o compare(). La comparación es lexicográfica.

std::string a = "apple", b = "banana";
if (a < b) std::cout << "apple comes first";

Reemplazo de todas las apariciones

La biblioteca estándar no tiene una única llamada para reemplazar todas las apariciones. Escriba una función auxiliar sencilla o utilice std::regex.

void replaceAll(std::string& s, const std::string& from, const std::string& to) {
    size_t pos = 0;
    while ((pos = s.find(from, pos)) != std::string::npos) {
        s.replace(pos, from.size(), to);
        pos += to.size();
    }
}

Comprobación rápida

¿Qué devuelve "hello".find("xyz") cuando la subcadena no está presente?

Resumen

std::string ofrece una API completa: + y += para concatenar, substr para obtener subcadenas, find para buscar y replace, erase e insert para editar. Compare el resultado con std::string::npos después de usar find.

Preguntas frecuentes

¿La lección «Operaciones con strings: concat, substr, find y replace» es gratis?

Sí — el texto completo de «Operaciones con strings: concat, substr, find y replace» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C++ Academy, actualiza a CoddyKit PRO. El curso de C++ Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Operaciones con strings: concat, substr, find y replace»?

Concatene, extraiga, busque y reemplace contenido de strings con la API de std::string. Practicas C++ Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar C++ Academy?

No se requiere experiencia previa. C++ Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Operaciones con strings: concat, substr, find y replace»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de C++ Academy?

Sí. Cada lección de C++ Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. std::string frente a arrays de caracteres de estilo C
  2. Operaciones con strings: concat, substr, find y replace
  3. stringstream para analizar strings
  4. Conversiones de strings: to_string y stoi
← Volver a C++ Academy