# String

El tipo de datos String en Rust se puede clasificar en lo siguiente:

  • Literal de cadena (&str)
  • Objeto de cadena (String)

Los literales de cadena son un conjunto de caracteres, que est谩n codificados en una variable. Por ejemplo:

 let web = "AcademiaScrypto.com";
 // Definimos el tipo
 let lugar: &str = "Toledo";

El tipo de objeto String se puede utilizar para representar valores de cadena que se proporcionan en tiempo de ejecuci贸n.

Para crear un objeto String, podemos usar cualquiera de las siguientes sintaxis:

// Crea una cadena vac铆a
let cadena_vacia = String::new();
// Crea una cadena con un valor por defecto
let cadena_defecto = String::from("AcademiaScrypto.com");

Los m茅todos m谩s comunes son:

M茅todo Descripci贸n
new() Crea una nueva cadena vac铆a
to_string() Convierte el valor dado en una cadena
replace() Reemplaza todas las coincidencias de un patr贸n con otra cadena
as_str() Extrae un segmento de cadena que contiene la cadena completa
push() Agrega el car谩cter dado al final de esta Cadena
push_str() Agrega un segmento de cadena dado al final de esta Cadena
len() Devuelve la longitud de este String, en bytes
trim() Devuelve un segmento de cadena con los espacios en blanco iniciales y finales eliminados
split_whitespace() Divide un segmento de cadena por espacios en blanco y devuelve un iterador
split() Devuelve un iterador sobre las subcadenas de este segmento de cadena, separadas por caracteres que coinciden con un patr贸n
chars() Devuelve un iterador sobre los caracteres de un segmento de cadena.

Un valor de cadena se puede agregar a otra cadena. Esto se llama concatenaci贸n o interpolaci贸n. El resultado de la concatenaci贸n de cadenas es un nuevo objeto de cadena. Ejemplo:

let n1 = "academia".to_string();
let n2 = "Scrypto.com".to_string();

let n3 = n1 + &n2; // pasamos n2 como referencia y funciona. 
println!("{}",n3);
// resultado: academiaScrypto.com

Para convertir un n煤mero en una cadena utilizamos el m茅todo to_string() ejemplo:

let numero = 2022;
let numero_a_cadena = numero.to_string(); 

println!("{}",numero_a_cadena);
// resultado: "2022"

Atenci贸n

  • Las cadenas de caracteres es uno de los temas mas farragosos de tratar en Rust, seguro que a lo largo de este curso dedicaremos mas de un momento a leer y probar documentaci贸n.

# Contenido extra: