String의 문자들 중에서 특정 Index의 문자를 가져오는 방법에 대해서 알아보겠습니다.
특정 Index의 문자 가져오기
str[index] 방식은 러스트에서 허용 안됨
러스트에서는 아래와 같이 str[index]
로 특정 Index 값에 접근하려고 하면 에러가 발생합니다.
fn main() {
let str: String = String::from("Hello World");
let char = str[4];
println!("{}", char);
}
러스트는 이러한 방식을 허용하지 않기 때문에 위 코드를 실행하면 아래처럼 에러가 발생합니다.
error[E0277]: the type `String` cannot be indexed by `{integer}`
--> src/main.rs:3:16
|
3 | let char = str[4];
| ^^^^^^ `String` cannot be indexed by `{integer}`
String slice를 이용하여 문자 가져오기
String slice를 이용하면 아래와 같이 특정 Index의 문자를 가져올 수 있습니다.
&str[4..5]
처럼 가져올 문자들의 Index 범위 설정[4..5]
는[4, 5)
의 범위를 의미(Index 4는 포함하고 5는 포함하지 않는). 즉, Index 4의 값만 해당됨
아래 예제는 Index 4의 문자만 가져옵니다.
fn main() {
let str: String = String::from("Hello World");
let char = &str[4..5];
println!("{}", char);
}
Output:
o
Index 범위의 문자들 가져오기
아래와 같이 String slice를 이용하여 다수의 문자들을 가져올 수 있습니다.
[1..5]
는 1을 포함하고 5를 포함하지 않는 Index 범위이므로, Index 1~4의 문자들을 가져옴
아래 예제는 String에서 Index 1~4의 문자들을 가져옵니다.
fn main() {
let str: String = String::from("Hello World");
let char = &str[1..5];
println!("{}", char);
}
Output:
ello
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로 변환