Rust에서 문자열 분할

Nilesh Katuwal 2023년6월21일
  1. Rust에서 split() 문자열 메서드 사용
  2. Rust에서 split_whitespace() 메서드 사용
Rust에서 문자열 분할

이 기사에서는 Rust에서 문자열을 분할하는 방법에 대해 알아봅니다.

Rust에서 split() 문자열 메서드 사용

split () 메서드는 문자열 조각의 하위 문자열에 대한 반복자를 반환합니다. 패턴을 통해 일치하는 문자로 구분됩니다.

결과는 나중에 사용할 수 있도록 저장할 수 없으며 split() 메서드가 제한 사항 중 하나입니다. collect() 메서드는 split()에서 반환된 결과를 벡터 형식으로 저장할 수 있습니다.

예제 코드:

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]);
}

위의 예는 쉼표 (,)를 찾을 때마다 문자열 단어를 분할합니다.

출력:

token is human
token is being
token is alive


first_word is human
second_word is being
third_word is alive

아래 예제에서는 split() 메서드를 사용하여 공백을 기준으로 문자열을 구분합니다. 메서드가 반복자를 반환하므로 개별 문자열을 얻을 수 있습니다.

예제 코드:

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

출력:

This
life
can
be
amazing

또 다른 용도는 Iterator::collect를 사용하여 분리된 문자열을 벡터로 수집하는 것입니다.

예제 코드:

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

위의 코드는 분리된 문자열을 개별 요소로 사용하여 벡터를 만듭니다.

출력:

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

char::is_uppercase를 사용하여 대문자로 사용할 수 있는 문자열을 구분할 수도 있습니다.

예제 코드:

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

출력:

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

Rust에서 split_whitespace() 메서드 사용

split_whitespace()는 입력 문자열을 다른 문자열로 분할하는 데 사용됩니다. 반복자를 반환하므로 토큰을 통해 반복할 수 있습니다.

예제 코드:

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;
   }
}

출력:

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

관련 문장 - Rust String