Funciones de cadenas - Parte 2
Parte de la sección Fundamentos del Journey de C++ de Coddy — lección 71 de 74.
Aquí hay más funciones útiles para cadenas de texto:
- erase(pos, len): Elimina len caracteres comenzando en la posición pos de la cadena actual.
- find(str): Devuelve la posición de la primera aparición de str en la cadena actual. Devuelve algún objeto que se puede comparar con -1 si no se encuentra.
- clear(): Elimina todos los caracteres de la cadena, dejándola vacía.
- empty(): Devuelve true si la cadena está vacía, false en caso contrario.
Por ejemplo, utilizando la siguiente cadena:
std::string str = "Hello, World!";int pos = str.find("World");
// Salida: pos = 7 (posición donde comienza "World")str.erase(5, 2);
// Salida: "HelloWorld!"str.clear();
// Salida: "" (cadena vacía)bool isEmpty = str.empty();
// Devuelve true si str no tiene caracteresDesafío
FácilCrea una función llamada stringSearchOperations que reciba una cadena como entrada y realice las siguientes operaciones utilizando funciones de cadena:
- Encuentra e imprime la posición del primer carácter de espacio en la cadena.
- Elimina 4 caracteres a partir de la posición 5.
- Comprueba si la cadena contiene la palabra "You" e imprime "Found" o "Not Found".
- Limpia la cadena y comprueba si está vacía.
- Imprime los resultados después de cada operación.
Usa el siguiente formato:
Space Found At: [Position of space]
After Erase: [String after erasing]
Contains You: [Found/Not Found]
Is Empty: [true/false]Hoja de referencia
Funciones de cadena útiles en C++:
erase(pos, len): Elimina len caracteres comenzando en la posición posfind(str): Devuelve la posición de la primera aparición de str (devuelve -1 si no se encuentra)clear(): Elimina todos los caracteres de la cadenaempty(): Devuelve true si la cadena está vacía, false en caso contrario
std::string str = "Hello, World!";
int pos = str.find("World");
// pos = 7 (posición donde comienza "World")
str.erase(5, 2);
// Result: "HelloWorld!"
str.clear();
// Result: "" (cadena vacía)
bool isEmpty = str.empty();
// Devuelve true si str no tiene caracteresPruébalo tú mismo
#include <iostream>
#include <string>
void stringSearchOperations(std::string str) {
// Encontrar el primer espacio
// Borrar 4 caracteres desde la posición 5
// Comprobar si contiene "You"
// Limpiar la cadena y comprobar si está vacía
}
int main() {
std::string str;
std::getline(std::cin, str);
stringSearchOperations(str);
return 0;
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador móduloIncremento/DecrementoPost-incremento/decrementoAtajos aritméticosOperadores de comparaciónComparación de strings7Conceptos básicos de Entrada/Salida
Sentencia coutSentencia cinEntrada de cadenasResumen - Hasta 120Resumen - Verdadero o Falso5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 38Calculadora de números
Mensaje de bienvenidaObtención de números3Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaResumen - Inicializar variablesType Casting Parte 1Type Casting Parte 26Toma de decisiones
Sentencia IfIf - ElseSentencia SwitchOperador condicionalRepaso - If ElseIf - Else anidados9Bucles
Bucle For - Parte 1Bucle WhileBucle Do WhileBreakContinueBucle For - Parte 2Bucles anidadosBucles infinitosResumen - Entrada dinámica12Cadenas
Cadenas al estilo C - Parte 1Cadenas al estilo C - Parte 2Operaciones con cadenasFunciones de cadenas - Parte 1Funciones de cadenas - Parte 2