Menu
Coddy logo textTech

Métodos de String

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

Rust cuenta con un amplio conjunto de métodos de cadena integrados que te permiten realizar diversas operaciones con cadenas. Estos métodos ofrecen funcionalidades para manipular, buscar y transformar cadenas. Estos son algunos métodos de cadena de uso frecuente:

  • len(): Devuelve el número de bytes de la cadena (igual al número 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 un valor Some (si el índice existe) o None (si no existe). Llamar a .unwrap() sobre él extrae directamente el valor del carácter.
  • 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 iniciales y finales 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 tome 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: Supón 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 Fundamentos

Practica por tu cuenta: Compilador de Rust online