replace ve replaceAll
replace ile ilk eşleşmeyi ve replaceAll ile tüm eşleşmeleri değiştirmeyi öğrenirsin.
replace ile değiştirme
replace metodu bir dizede arama yapar ve bulduğu ilk eşleşmeyi yeni bir değerle değiştirir. Yeni bir dize döndürür; orijinal dize değişmez.
Örneğin "merhaba dünya".replace("dünya", "JavaScript") çağrısı "merhaba JavaScript" verir. Eşleşme birden fazla yerde varsa yalnızca ilkini değiştirir. Tümünü değiştirmek için replaceAll gerekir.
replaceAll ve düzenli ifade
replaceAll metodu, aranan değerin tüm eşleşmelerini yeni değerle değiştirir. Yine yeni bir dize döndürür. Önceki örnekte tüm boşlukları tireye çevirmek için idealdir.
Eskiden bu iş için /g bayrağıyla düzenli ifade kullanılırdı: replace(/-/g, "_"). Yeni kodlarda replaceAll daha okunaklıdır. İlk eşleşmeyi değiştirmek istiyorsan yine replace kullanırsın.
Uygulama İlk eşleşmeyi değiştir
sentence dizesindeki ilk "kedi" sözcüğünü "köpek" ile değiştir ve updated değişkenine ata. Sonucu konsola yazdır.
Örnek çözümü göster
const sentence = "kedi ve kedi ve kedi";
// ilk "kedi" sözcüğünü "köpek" ile değiştir
const updated = sentence.replace("kedi", "köpek");
console.log(updated);
Uygulama Tüm boşlukları tireye çevir
title dizesindeki tüm boşlukları tireye çevir ve slug değişkenine ata. Sonucu konsola yazdır.
Örnek çözümü göster
const title = "javascript dersleri ileri";
// tüm boşlukları tireye çevir
const slug = title.replaceAll(" ", "-");
console.log(slug);
Kendini test et
-
"a-b-c".replace("-", "/") çağrısı ne döndürür?
"a-b-c".replace("-", "/")- "a/b/c"
- "abc"
- "a/b-c"
- "a-b-c"
Cevabı göster
"a/b-c" — Doğru. replace yalnızca ilk "-" işaretini "/" ile değiştirir, gerisi kalır.
-
Tüm boşlukları tireye çevir
const title = "javascript dersleri"; const slug = title.____; console.log(slug);Cevabı göster
const title = "javascript dersleri"; const slug = title.replaceAll(" ", "-"); console.log(slug); -
Metot → davranış eşleştir
- replace('a','b')
- ilk eşleşmeyi değiştirir
- replaceAll('a','b')
- tüm eşleşmeleri değiştirir
- replace(/a/g,'b')
- tümünü değiştirir (regex)
- replace('x','y')
- eşleşme yoksa dokunmaz