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
- std::string frente a arrays de caracteres de estilo C
- Operaciones con strings: concat, substr, find y replace
- stringstream para analizar strings
- Conversiones de strings: to_string y stoi