Rust - 문자가 대문자인지 소문자인지 확인

러스트에서 문자열(String) 또는 문자(char)가 대문자인지 소문자인지 구분하는 방법을 소개합니다.

1. 문자(char)가 대문자, 소문자인지 확인

다음과 같이 문자가 대문자인지 소문자인지 확인할 수 있습니다.

  • is_uppercase()는 문자가 대문자일 때 true리턴
  • is_lowercase()는 문자가 소문자일 때 true리턴
fn main() {
    let char1 = 'A';
    let char2 = 'z';

    if char1.is_uppercase() {
        println!("{} is uppercase", char1);
    } else {
        println!("{} is not uppercase", char1);
    }

    if char2.is_lowercase() {
        println!("{} is lowercase", char2);
    } else {
        println!("{} is not lowercase", char2);
    }
}

Output:

A is uppercase
z is lowercase

2. 문자열의 모든 문자들이 대문자, 소문자인지 확인

문자열의 모든 문자에 대해서 is_uppercase(), is_lowercase() 함수로 대소문자를 체크하여, 문자열의 모든 문자가 대문자 또는 소문자인지 판별할 수 있습니다.

  • filter()로 공백(Space)은 제외
  • all()로 모든 문자들에 대해서 is_uppercase() 또는 is_lowercase()가 true를 리턴하는지 확인
  • 특수 문자의 경우 is_uppercase() 또는 is_lowercase()가 모두 false를 리턴하기 때문에 사전에 filter를 해야 함
fn main() {
    let str1 = "ALL UPPERCASE";
    let str2 = "all lowercase";

    let is_all_uppercase = str1.chars().filter(|c| !c.is_whitespace()).all(|c| c.is_uppercase());
    let is_all_lowercase = str2.chars().filter(|c| !c.is_whitespace()).all(|c| c.is_lowercase());

    println!("{} is all uppercase: {}", str1, is_all_uppercase);
    println!("{} is all lowercase: {}", str2, is_all_lowercase);
}

Output:

ALL UPPERCASE is all uppercase: true
all lowercase is all lowercase: true
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha