러스트에서 두개의 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
- Rust - String을 char 리스트(Vector)로 변환
- Rust - 문자가 대문자인지 소문자인지 확인
- Rust - String에서 줄바꿈(newline) 문자 제거 방법
- Rust - String 대문자, 소문자 변환
- Rust - 현재 시간 가져오기 (DateTime, chrono)
- Rust - 예외 처리 방법 (Exception handling)
- Rust - String.find()으로 문자열 Index 찾기
- Rust - match (Switch) 사용 방법
- Rust - Vector의 요소 제거 방법 (remove, retain, drain)
- Rust - String의 특정 Index 값 가져오기
- Rust - 문자열 뒤집기, 역순으로 변경
- Rust - String 객체에 문자열 추가하기
- Rust - sleep(), 몇 초 지연/대기 방법
- Rust - String을 Int, Float으로 변환
- Rust - Integer를 String으로 변환
- Rust - Float를 String으로 변환
- Rust - String 비교 방법 (==, !=, eq, ne)
- Rust - String을 str으로, str을 String으로 변환
- Rust - String 공백 제거 (trim, replace)
- Rust - 2개의 배열이 같은지 비교 (==, equals)
- Rust - 배열 길이 가져오기 (Array length)
- Rust - Vector를 배열로 변환 (vector to array)
- Rust - 배열의 최소, 최대 값 찾기 (min, max)
- Rust - 배열의 합계, 평균 (sum, average)
- Rust - 2개의 Vector가 같은지 비교 (==, equals)
- Rust - HashMap을 Vector로 변환
- Rust - Vector의 최소, 최대 값 찾기 (min, max)
- Rust - Vector의 합계, 평균 (sum, average)
- Rust - 벡터 길이 가져오기 (Vector length)
- Rust - 배열을 HashSet으로 변환
- Rust - 배열을 벡터로 변환하는 방법
- Rust - 배열(벡터) 모든 요소 출력
- Rust - 배열 나누기, 자르기 (split_at, slice)
- Rust - 2개 벡터 하나로 합치기
- Rust - HashSet을 Vector로 변환