String yardımcıları
- Dart kursu
- Orta seviye
- Ders 14/116
- 6 dk
String işleme metotlarını ekler ve test edersin.
slugify metodu
Bir dizgeyi URL dostu hale getirmek için slugify metodu yazacağız. Metot, harfleri küçültür ve boşlukları tireye çevirir; böylece başlık veya etiketler bağlantıya uygun olur.
Örnek: 'Merhaba Dünya'.toLowerCase().replaceAll(' ', '-') sonucu 'merhaba-dünya' yapar. Bunu String slugify(String text) metodu olarak sınıfa ekleyeceğiz. Dart'ta toLowerCase harfleri küçültür; replaceAll ilk argümanı ikinciyle değiştirir. Aynı yapıyı başlık, etiket ve dosya adı için kullanabilirsin.
Metot zinciri
Slugify, iki metodu ardışık çağırır: önce toLowerCase(), sonra replaceAll(...). Bu metot zinciri (method chaining), her metot sonucunu bir sonrakine aktarır.
Örnek: text.toLowerCase().replaceAll(' ', '-'). Burada toLowerCase() küçük harfli bir String döndürür; replaceAll(...) bu String üzerinde çalışır. Zincir uzun olabilir: text.toLowerCase().trim().replaceAll(' ', '-'). Her adım bir öncekinin sonucuna uygulanır. Bu yapı, veriyi adım adım dönüştürmenin özlü yoludur.
Uygulama Helper'a slugify ekle
Var olan Helper sınıfını koru. Sınıfa String slugify(String text) { return text.toLowerCase().replaceAll(' ', '-'); } metodunu ekle. main içinde var h = Helper(); ile örnek oluştur ve print(h.slugify('Merhaba Dünya')) çağrısı yap.
Başlangıç kodu
class Helper {
final String version;
Helper() : version = '1.0';
}
void main() {
var h = Helper();
print(h.version);
}
// slugify metodunu ekle ve örnekle çağırÖrnek çözüm
class Helper {
final String version;
Helper() : version = '1.0';
String slugify(String text) {
return text.toLowerCase().replaceAll(' ', '-');
}
}
void main() {
var h = Helper();
print(h.slugify('Merhaba Dünya'));
}Beklenen çıktı
merhaba-dünya
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 slugify('Merhaba Dünya') ne döndürür?
- MerhabaDünya
- merhaba-dünya Doğru cevap
- merhaba_dunya
- MERHABA DÜNYA
Açıklama: toLowerCase küçültür, replaceAll(' ', '-') boşluğu tireye çevirir.
2 slugify gövdesini tamamla
String slugify(String text) {
return text.____(' ', '-');
}
String slugify(String text) {
return text.replaceAll(' ', '-');
}
Açıklama: replaceAll ilk argümanı ikinciyle değiştirir.
3 slugify parçalarını eşle
| Kavram | Anlamı |
|---|---|
slugify |
Metot adı |
toLowerCase |
Küçük harfe çevirir |
replaceAll |
Boşluğu tireye çevirir |