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 unOption<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();Desafío
FácilCrea un método llamado analyzeString que reciba 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: 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);
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
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