Bu yazıda JavaScript'te herhangi bir string değer üzerinde replace işlemlerinin nasıl yapıldığını anlatacağım.
String ifademiz üzerindeki herhangi bir kelimeyi, harfi ya da istediğimiz bir text'i değiştirmek için replace fonksiyonunu kullanıyoruz.
var metin = "Bilgisayar mühendisleri blog"; metin = metin.replace("blog","site"); alert(metin);
Bu örnekte "Bilgisayar mühendisleri blog" şeklinde bir metin tanımladık ve replace komutu ile "blog" ifadesini "site" olarak değiştirdik.
Peki birden fazla ifadeyi değiştirmek istersek bu kod işimizi görür mü? Replace fonksiyonu ile metin içerisinde birden fazla ifadeyi değiştiremiyoruz.
var metin = "Bilgisayar mühendisleri blog"; metin = metin.replace(" ","-"); alert(metin);
Yukarıdaki kodda boşlukları "-" ile değiştirmek istedim. Kodu çalıştırdığımda çıktı aşağıdaki gibi oldu.
Görüldüğü gibi sadece ilk boşluk değiştirildi.
Bunun için Regular Expression'lardan yararlanacağız. Yeni bir prototype ekliyoruz.
String.prototype.replaceAll = function(search, replacement) { var target = this; return target.replace(new RegExp(search, 'g'), replacement); };
Ve bu eklemiş olduğumuz metodu çağırıyoruz.
var metin = "Bilgisayar mühendisleri blog"; metin = metin.replaceAll(" ","-"); alert(metin);
Çalıştırdığımda aşağıdaki görselde görebileceğiniz gibi tüm boşlukların "-" ile değiştirmiş oluyorum.