Rust - 두개의 문자열 합치기, 연결하기

러스트에서 두개의 String을 연결하여 하나의 String 객체로 만드는 방법에 대해서 알아보겠습니다.

1. + 연산자를 이용한 방법

두개의 String 객체는 str1 + $str2와 같은 방식으로 연결할 수 있습니다.

  • str 타입의 경우 to_string()으로 String 타입으로 변환
  • 또는, String::from("hello")으로 String 타입 변환 가능
fn main() {
    let str1 = "Hello".to_string();
    let str2 = "World".to_string();
    let str3 = str1 + &str2;
    println!("{}", str3);
}

Output:

HelloWorld

String이 아닌, str 객체들을 연결

str 타입의 객체들을 + 연산자를 사용하여 하나의 String으로 연결할 수 있습니다.

  • 첫번째 str 객체는 to_owned()를 호출하며, 다른 str은 + 연산자로 연결
fn main() {
    let mut str1 = "Hello";
    let str2 = "World";
    let str3 = "Rust";

    let str4 = str1.to_owned() + str2 + str3;
    println!("{}", str4);
}

Output:

HelloWorldRust

2. format()을 이용한 방법

format(format, arguments)로 아래와 같이 문자열을 연결할 수 있습니다.

println!()과 동일한 방법으로 사용하면 되고, 합쳐진 문자열이 String 객체로 리턴됩니다.

fn main() {
    let str1 = "Hello".to_string();
    let str2 = "World".to_string();
    let str3 = format!("{} {}", str1, str2);
    println!("{}", str3);
}

Output:

Hello World

3. push_str()을 이용한 방법

mutable(변경 가능) String 객체의 경우, push_str()로 문자열을 연결할 수 있습니다.

  • push_str()의 인자에는 str 타입만 전달 가능
  • let mut은 mutable 변수 선언이며, 변수 값을 변경할 수 있음
fn main() {
    let mut str1 = "Hello".to_string();
    let str2 = "World";

    str1.push_str(str2);
    println!("{}", str1);
}

Output:

HelloWorld

4. extend()를 이용한 방법

String 객체는 extend() 함수로 vector를 받고, vector의 문자열들을 String 객체의 문자열에 연결합니다.

아래 예제는 2개의 문자열을 vector로 만들고, 문자열과 vector의 문자열들을 하나로 연결합니다.

fn main() {
    let mut str1 = "Hello".to_string();
    let str2 = "World".to_string();
    let str3 = "Rust".to_string();

    let strings = vec![str2, str3];
    str1.extend(strings);
    println!("{}", str1);
}

Output:

HelloWorldRust
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha