CodeBlanks Logo Icon CodeBlanks

replace

replaceAll ile dize değiştirmeyi öğrenirsin.

replaceAll

Bir dize içindeki eşleşmelerin tümünü değiştirmek için replaceAll kullanılır. Yeni bir dize döner; özgün dize değişmez. Örneğin "a-b-c".replaceAll("-", "_") sonuçu "a_b_c" olur. Tüm tireler alt çizgi olmuştur.

Yalnızca ilk eşleşmeyi değiştirmek istersen replaceFirst vardır. İkisi arasındaki fark çok önemlidir: replaceAll hiç eşleşme bulamazsa dizeyi olduğu gibi döndürür; hata vermez. Bu yüzden koşul kontrolü gerekmeden güvenle kullanılabilir.

İlk eşleşme ve hepsi

replaceFirst yalnızca ilk eşleşmeyi değiştirir, gerisine dokunmaz. "a-a-a".replaceFirst("-", "_") sonuçu "a_a-a" olur. Bir günlük kaydında yalnızca ilk ayracı değiştirmek istediğinde işine yarar.

replaceAll ise hepsini değiştirir: "a-a-a".replaceAll("-", "_") sonuçu "a_a_a". Hangisini seçeceğin işe bağlıdır. Çoğu durumda replaceAll istenir; kullanıcı adındaki boşlukları tek seferde temizlemek gibi. Yine de ikisini de bilmen gerekir.

Uygulama Sıra sende: replaceAll

"kitap,kalem,defter" dizesindeki tüm virgülleri ";" ile değiştir ve sonuçu print ile yazdır.

Başlangıç kodu

main.dart
void main() {
  // Tüm virgülleri noktalı virgüle değiştir
  // Sonucu yazdır
}

Örnek çözüm

main.dart
void main() {
  final liste = "kitap,kalem,defter";
  print(liste.replaceAll(",", ";"));
}

Beklenen çıktı

kitap;kalem;defter

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 replaceAll çağrısı

Soru
final duz = "a-b-c".____("-", "_");
Cevap
final duz = "a-b-c".replaceAll("-", "_");

Açıklama: replaceAll tüm tireleri alt çizgi yapar.

2 "a-a-a" dizesinin tüm tirelerini alt çizgi yapan çağrı?

main.dart
final out = "a-a-a"._____("-", "_");
  • replaceFirst
  • replaceAll Doğru cevap
  • split
  • join

Açıklama: replaceAll her tireyi alt çizgi yapar.

3 replace yöntemlerini eşleştir

Kavram Anlamı
replaceAll tüm eşleşmeleri değiştirir
replaceFirst yalnızca ilkini değiştirir
replace Map'e göre değiştirir
replaceAllMapped işlevle dönüştürür

Başlangıç bölümündeki tüm dersler