Merkkijonojen osien poimiminen

Rust:
Merkkijonojen osien poimiminen

How to:

Kuinka tehdään:

fn main() {
    let text = "Moi, Rust-ohjelmoija!";
    let start = 5;
    let end = 9;
    
    // Käytä indeksejä substringin saamiseksi
    let substring = &text[start..end];
    
    println!("Substring on: '{}'", substring); // "Substring on: 'Rust'"
    
    // Toisenlainen tapa käyttämällä `.get(..)` - metodia
    match text.get(start..end) {
        Some(sub) => println!("Toinen tapa: '{}'", sub), // "Toinen tapa: 'Rust'"
        None => println!("Virheelliset indeksit"),
    }
}

Deep Dive

Syväsukellus: Rust ei oikeastaan puhu “substringeista” vaan viipaleista, “slices”. Historiallisesti viipaleet ovat Rustin yritys tarjota turvallista pääsyä merkkijonoihin paniikkien ja väärien muistiviitteiden välttämiseksi. Erona esim. Pythoniin, Rust vaatii, että viipaleet ovat voimassaolevia UTF-8 sekvenssejä, joten suora indeksointi ei aina ole mahdollista. Tämän takia .get(..) metodi on kätevä, sillä se palauttaa Option-tyypin, joka kertoo, onnistuiko leikkaus. .chars().collect() ja muut metodit auttavat iterointiin, jos tarvitaan enemmän kontrollia Unicode-merkkien yli.

See Also

Katso myös: