Menu
Coddy logo textTech

Métodos de String

Parte de la sección Fundamentals del Journey de Rust de Coddy. Lección 69 de 75.

Rust tiene un conjunto rico de métodos de cadena integrados que te permiten realizar varias operaciones en cadenas. Estos métodos proporcionan funcionalidades para manipular, buscar y transformar cadenas. Aquí tienes algunos métodos de cadena comúnmente utilizados:

  • len(): Devuelve el número de bytes en la cadena (igual al recuento de caracteres para texto ASCII).
  • chars().nth(index): Devuelve el carácter en el índice especificado (basado en 0). Este método devuelve un Option<char> — un tipo especial de Rust que representa ya sea un valor Some (si el índice existe) o None (si no existe). Llamar a .unwrap() en él extrae el valor del carácter directamente.
  • contains(substring): Comprueba si la cadena contiene la subcadena especificada.
  • starts_with(prefix): Comprueba si la cadena comienza con el prefijo especificado.
  • ends_with(suffix): Comprueba si la cadena termina con el sufijo especificado.
  • to_uppercase(): Convierte la cadena a mayúsculas.
  • to_lowercase(): Convierte la cadena a minúsculas.
  • trim(): Elimina los espacios en blanco al principio y al final de la cadena.

Por ejemplo:

let message = "Hello, World!";
let length = message.len();
let firstChar = message.chars().nth(0).unwrap();
let contains_world = message.contains("World");
let starts_with_hello = message.starts_with("Hello");
let lower = message.to_lowercase();
challenge icon

Desafío

Fácil

Crea un método llamado analyzeString que reciba una cadena como entrada e imprima el siguiente análisis utilizando métodos de cadena:

  1. La longitud de la cadena
  2. El carácter en el índice 4
  3. Si la cadena contiene la subcadena "Rust"
  4. Si la cadena termina con un punto .
  5. La cadena convertida a mayúsculas

La salida debe seguir este formato exacto:

Length: [The length]
Char at 4: [The Char at index 4]
Contains Rust: [true or false]
Ends with dot: [true or false]
Uppercase: [The string in uppercase]

Nota: Asume que la cadena de entrada será lo suficientemente larga para todas las operaciones.

Pruébalo tú mismo

use std::io;

fn analyze_string(s: &str) {
    // Escribe tu código aquí
}

fn main() {
    let mut message = String::new();
    io::stdin().read_line(&mut message).unwrap();
    let message = message.trim();
    analyze_string(message);
}
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 Fundamentals

Practica por tu cuenta: Compilador de Rust online