char::is_uppercase în Rust

Verifică dacă un caracter este literă mare (is_uppercase) sau literă mică (is_lowercase).

Sintaxă
pub fn is_uppercase(self) -> bool
pub fn is_lowercase(self) -> bool

Ce face char::is_uppercase

Ambele folosesc regulile Unicode, deci funcționează pentru Ș/ș, Â/â și alte alfabete. Cifrele, spațiile și semnele de punctuație nu sunt nici mari, nici mici: ambele metode returnează false pentru ele.

Pentru doar literele ASCII există is_ascii_uppercase și is_ascii_lowercase.

Ce returnează

bool.

Exemple

Exemplul 1: Litere mari, mici și altceva

fn main() {
    for c in ['Ș', 'ș', 'A', 'â', '5', '!'] {
        println!("{c}: mare = {:5}, mică = {}", c.is_uppercase(), c.is_lowercase());
    }
}

Rezultat

Ș: mare = true , mică = false
ș: mare = false, mică = true
A: mare = true , mică = false
â: mare = false, mică = true
5: mare = false, mică = false
!: mare = false, mică = false

Exemplul 2: Numele propriu începe cu majusculă?

fn main() {
    let cuvinte = ["Ștefan", "țara", "Iași", "123"];
    for c in cuvinte {
        let ok = c.chars().next().is_some_and(|p| p.is_uppercase());
        println!("{c}: {}", if ok { "începe cu majusculă" } else { "nu" });
    }
    let majuscule = "Ana Are Mere".chars().filter(|c| c.is_uppercase()).count();
    println!("majuscule în 'Ana Are Mere': {majuscule}");
}

Rezultat

Ștefan: începe cu majusculă
țara: nu
Iași: începe cu majusculă
123: nu
majuscule în 'Ana Are Mere': 3

Greșeli frecvente

  • Verifici „nu e literă mare” cu !c.is_uppercase() și consideri cifrele drept litere mici. Verifică explicit c.is_lowercase().

Comenzi înrudite

  • char::to_uppercase: Transformă un caracter în literă mare sau mică; returnează un iterator, pentru că rezultatul poate avea mai multe caractere.
  • char::is_alphabetic: Verifică dacă un caracter este literă (is_alphabetic) sau literă ori cifră (is_alphanumeric), după Unicode.
  • str::to_uppercase: Returnează un String nou cu toate literele mari (to_uppercase) sau mici (to_lowercase), după regulile Unicode.