Menu
Coddy logo textTech

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 caracteres
challenge icon

Desafío

Fácil

Crea 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 pos
  • find(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 cadena
  • empty(): 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 caracteres

Prué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;
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos