lab2023 - internet teknolojileri

Ruby'de String Replace (String Degistirme)

PHP de kullandığımız str_replace() fonksiyonu yok tabi :). Ruby de string değiştirme için bir kaç fonksiyon bulunmakta. İlk fonksiyonu tr() inceleyelim.

String içerisinde karakter değiştirmek istiyorsak;

1
"Merhaba".tr("aeiou", "*") # => "M*rh*b*"

Görüldüğü gibi “hello” stringindeki “a”, “e”, “i”, “o”, “u” karakterlerini “*” karakterine çeviriyor.

Eğer bir string içerisindeki sembolleri kaldırmak istersek;

1
"Merhaba !@#$%^&*()_+ Ruby!".tr("!@#$%^&*()_+", "") # => "Merhaba Ruby"

tr fonksiyonu ile bir cümle içindeki bir kelimeyi değiştirmek isteyelim;

1
2
message = "Merahaba Ruby !" #"Merhaba Ruby !"
message.tr("Ruby", "Rails") #"Merahaia Rail !"

“Ruby” yi “Rails” e çevirmek istedik ama başarılı olamadık :(.

Örnektende anlaşıldığı gibi tr() fonksiyonu karakter karakter işlem yapıyor. Bizi burada kurtaracak olan fonksiyon ise gsub(). gsub() fonksiyonu ile biraz önceki örnekte yapmaya çalışıtığımızı artık yapabiliriz :).

1
2
message = "Merahaba Ruby !" #"Merhaba Ruby !"
message.tr("Ruby", "Rails") #"Merhaba Rails !"

Görüldüğü gibi “Ruby” stringini “Rails” stringine çevirmiş bulunuyoruz. Eğer bir tane daha “Ruby” stringi olsaydı onuda değiştirecekti.

1
2
message = "Merahaba Ruby Ruby !" #"Merhaba Ruby Ruby!"
message.gsub("Ruby", "Rails") #"Merhaba Rails Rails!"`

Şimdide şöyle bir örnek bir şey yapalım.

“Laboratuvarda 30 Dell, 20 Casper, 5 Mac Bilgisayar bulunmaktadır.”

Cümlesini şöyle yapalım;

“Labarotuvarda biraz Dell, biraz Casper, 5 Mac Bilgisayar bulunmaktadır.”

1
"Laboratuvarda 30 Dell, 20 Casper, 5 Mac Bilgisayar bulunmaktadır.".gsub(/[0-9][0-9]/, 'biraz') #Labarotuvarda biraz Dell, biraz Casper, 5 Mac Bilgisayar bulunmaktadır.

Umarım faydalı olmuştur. İyi çalışmalar…