1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
pub fn to_upper_first(input: &str) -> String {
    let mut c = input.chars();

    match c.next() {
        None => String::new(),
        Some(x) => x.to_uppercase().collect::<String>() + c.as_str()
    }
}

pub fn to_lower_first(input: &str) -> String {
    let mut c = input.chars();

    match c.next() {
        None => String::new(),
        Some(x) => x.to_lowercase().collect::<String>() + c.as_str()
    }
}