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 unOption<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();Desafío
FácilCrea un método llamado analyzeString que tome una cadena como entrada e imprima el siguiente análisis utilizando métodos de cadena:
- 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 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);
}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