Özet - İleri string
- Rust kursu
- Başlangıç
- Ders 105/115
- 5 dk
split, contains ve replace'i birleştirerek bir metin filtreleyici yazarsın.
İleri string özeti
String sahip olunan, &str ödünç metindir; parametrelerde &str al. Metin UTF-8'dir: len() bayt, chars().count() karakter sayar; bayt dilimleri karakter sınırında olmalıdır. Arama: contains, find, starts_with; değiştirme: replace; bölme: split, split_whitespace, lines, split_once; birleştirme: join, format!, push_str.
İlk harfi büyütmek
Bir kelimenin ilk harfini büyütmek için ilk karakter ayrılır, büyütülür ve kalan dilimle birleştirilir:
fn ilk_buyuk(k: &str) -> String {
let mut c = k.chars();
match c.next() {
Some(ilk) => ilk.to_uppercase().collect::<String>() + c.as_str(),
None => String::new(),
}
}c.as_str(), yineleyicinin henüz okunmamış kısmını dilim olarak verir.
Uygulama Kelimeleri büyüt
Yukarıdaki ilk_buyuk fonksiyonunu yaz. "rust çok hızlı" metnini split_whitespace ile böl, her kelimeye uygula, join(" ") ile birleştirip yazdır.
Başlangıç kodu
fn main() {
// buraya yaz
}Örnek çözüm
fn ilk_buyuk(k: &str) -> String {
let mut c = k.chars();
match c.next() {
Some(ilk) => ilk.to_uppercase().collect::<String>() + c.as_str(),
None => String::new(),
}
}
fn main() {
let s = "rust çok hızlı";
let parcalar: Vec<String> = s.split_whitespace().map(ilk_buyuk).collect();
println!("{}", parcalar.join(" "));
}Beklenen çıktı
Rust Çok Hızlı
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 <code>"istanbul".to_uppercase()</code> sonucu nedir?
- "İSTANBUL"
- "Istanbul" Doğru cevap
- Derleme hatası
- "ISTANBUL" (Türkçe İ değil)
Açıklama: Standart kütüphane dile duyarlı değildir; i → I dönüşümü yapar. Türkçe kurallar için ayrı bir kütüphane ya da elle eşleme gerekir.
2 Kelimelere böl
let kelimeler: Vec<&str> = s.____().collect();
let kelimeler: Vec<&str> = s.split_whitespace().collect();
Açıklama: split_whitespace kelimeleri boşluk sayısından bağımsız olarak ayırır.
3 Grubun özeti
| Kavram | Anlamı |
|---|---|
s.len() |
Bayt sayısı |
s.chars() |
Karakterler |
s.split(..) |
Parçalar |
v.join(..) |
Birleştirme |