Cuerda dividida en óxido

Nilesh Katuwal 21 junio 2023
  1. Use el método de cadena split() en Rust
  2. Usa el método split_whitespace() en Rust
Cuerda dividida en óxido

En este artículo, aprenderemos sobre las formas de dividir la cadena en Rust.

Use el método de cadena split() en Rust

El método split () devuelve un iterador sobre la subcadena del segmento de cadena. Están separados por los caracteres, que se emparejan a través del patrón.

El resultado no se puede almacenar para uso futuro, siendo el método split() una de sus limitaciones. El método collect() puede almacenar el resultado devuelto por split() en forma de vector.

Código de ejemplo:

fn main() {
   let words = "human,being,alive";

   for token in words.split(","){
      println!("token is {}",token);
   }

   println!("\n");
   let tokens:Vec<&str>= words.split(",").collect();
   println!("first_word is {}",tokens[0]);
   println!("second_word is {}",tokens[1]);
   println!("third_word is {}",tokens[2]);
}

El ejemplo anterior divide las palabras de cadena cada vez que encuentra una coma (,).

Producción :

token is human
token is being
token is alive


first_word is human
second_word is being
third_word is alive

El siguiente ejemplo utiliza el método split() para separar las cadenas según el espacio. Podemos obtener la cadena individual a medida que el método devuelve el iterador.

Código de ejemplo:

fn main() {
      let sentence = "This life can be amazing".split(" ");
      for s in sentence {
            println!("{}", s);
      }
}

Producción :

This
life
can
be
amazing

Otro uso es recopilar las cadenas separadas en un vector con el uso de Iterator::collect.

Código de ejemplo:

let sentence: Vec<&str> = "This life can be amazing".split(" ").collect();
 println!("{:?}", sentence);

El código anterior crea un vector con las cadenas separadas como elementos individuales.

Producción :

["This" "life" "can" "be" "amazing"]

También podemos usar char::is_uppercase para separar la cadena disponible en mayúsculas.

Código de ejemplo:

fn main() {
      let words: Vec<&str> = "peopleIhumansIlifeIenjoy".split(char::is_uppercase).collect();
      println!("{:?}", words);
}

Producción :

["people" "human" "life" "enjoy"]

Usa el método split_whitespace() en Rust

El split_whitespace() se usa para dividir la cadena de entrada en diferentes cadenas. Dado que devuelve el iterador, podemos iterarlo a través del token.

Código de ejemplo:

fn main(){
   let words = "Rust is a programming language".to_string();
   let mut i = 1;

   for token in words.split_whitespace(){
      println!("token {} {}",i,token);
      i+=1;
   }
}

Producción :

token 1 Rust
token 2 is
token 3 a
token 4 programming
token 5 language

Artículo relacionado - Rust String