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 integrados para cadenas que te permiten realizar diversas operaciones con ellas. Estos métodos ofrecen funcionalidades para manipular, buscar y transformar cadenas. Aquí tienes algunos métodos de cadenas de uso común:
len(): Devuelve el número de bytes de la cadena (igual al número de caracteres en texto ASCII).chars().nth(index): Devuelve el carácter en el índice especificado (basado en 0). Este método devuelve unOption<char>: un tipo especial de Rust que representa un valor Some (si el índice existe) o None (si no existe). Al llamar a.unwrap(), se extrae directamente el valor del carácter.
contains(substring): Comprueba si la cadena contiene la subcadena especificada.starts_with(prefix): Comprueba si la cadena empieza 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();Desafío
FácilCrea un método llamado analyzeString que tome una cadena como entrada e imprima el siguiente análisis usando métodos de cadenas:
- La longitud de la cadena
- El carácter en el índice 4
- Si la cadena contiene la subcadena "Rust"
- Si la cadena termina con un punto
. - 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 tendrá la longitud suficiente 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);
}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 de móduloAtajos aritméticosOperadores de comparaciónComparación de strings5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 33Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaInferencia de tiposResumen - Inicializar variablesConversión de tipos9Bucles
For sobre seriesBucle WhileBreakContinueBucle anidadoEtiquetas de bucleBucle infinitoResumen - Entrada dinámicaPractica por tu cuenta: Compilador de Rust online