Giriş
Bu yazımda Ruby ile basit string ve dizgi işlemlerinin nasıl yapılabileceğini göreceğiz. Birçok programlama diline göre oldukça basit.
Ayraçlarla Ayrılmış Stringleri Parçalamak
Örneğin şu veriyi içeren bir stringimiz olsun:
merhaba,dünya,ben,ruby,programlama,yapıyorum
Bu stringi “,” ayracıyla ayırıp aşağıdaki gibi kelime kelime ekrana basalım:
merhaba
dünya
ben
ruby
programlama
yapıyorum
# Kütüphaneleri yükle
require 'rubygems'
# Parçalanacak string
parcalanacak = "merhaba,dünya,ben,ruby,programlama,yapıyorum"
# ,'den ayır ve diziye ay
kelime_dizisi = parcalanacak.split(",")
# Dizideki her bir giriş için girişi ekrana yazdır
kelime_dizisi.each do |kelime|
puts kelime
end
Hmm, bir de ekrana basarken her kelimenin baş harfini büyük yapalım:
# Kütüphaneleri yükle
require 'rubygems'
# Parçalanacak string
parcalanacak = "merhaba,dünya,ben,ruby,programlama,yapıyorum"
# ,'den ayır ve diziye ay
kelime_dizisi = parcalanacak.split(",")
# Dizideki her bir giriş için girişi ekrana yazdır
kelime_dizisi.each do |kelime|
puts kelime.capitalize
end
Hmm, bir de bir çılgınlık yapıp bütün karakterleri büyük harf yazdıralım:
# Kütüphaneleri yükle
require 'rubygems'
# Parçalanacak string
parcalanacak = "merhaba,dünya,ben,ruby,programlama,yapıyorum"
# ,'den ayır ve diziye ay
kelime_dizisi = parcalanacak.split(",")
# Dizideki her bir giriş için girişi ekrana yazdır
kelime_dizisi.each do |kelime|
puts kelime.upcase
end
String’e String Eklemek
Bir stringe bir string eklemek için aşağıdaki kodu kullanabiliriz:
# Kütüphaneleri yükle require 'rubygems' # Yazi tanımları yazi1 = "Merhaba dünya!" yazi2 = "Ben Ruby programlama yapıyorum!!!" # Birleştirilmiş yazi yazi3 = yazi1 + " " + yazi2 # Ekrana bastıralım puts yazi3
String’den Karakter Silmek
Bir stringin son karakterini silmek için:
# Kütüphaneleri yükle require 'rubygems' # Yazi tanımları yazi1 = "Merhaba dünya!" yazi2 = "Ben Ruby programlama yapıyorum!!!" # Birleştirilmiş yazi yazi3 = yazi1 + " " + yazi2 # Ekrana bastıralım puts yazi3 # Son karakteri silelim puts yazi3.chop!
Yazının sonundaki bir new line (\n) veya carriage return (\r) gizli karakterlerini silmek için:
# Kütüphaneleri yükle require 'rubygems' # Yazi tanımları yazi1 = "Merhaba dünya!\n" yazi2 = "Ben Ruby programlama yapıyorum!!!\r\n" # İlk hallerini ekrana basalım puts yazi1 + yazi2 + "Satırlara dikkat!" # Newline ve CarriageReturn silelim yazi1 = yazi1.chomp yazi2 = yazi2.chomp # Yeni hallerini ekrana basalım puts yazi1 + yazi2 + "Satırlara dikkat!"
Sondan 5 karakteri de silebiliriz:
# Kütüphaneleri yükle require 'rubygems' # Yazi tanımları yazi1 = "Merhaba dünya!" yazi2 = "Ben Ruby programlama yapıyorum!!!" # Sondan 2 karakteri silelim 5.times do yazi2.chop! end # İlk hallerini ekrana basalım puts yazi1 + yazi2
Yazı dizisi içerisindeki “Ruby” kelimesini silelim:
# Kütüphaneleri yükle
require 'rubygems'
# Yazi tanımları
yazi1 = "Merhaba dünya!"
yazi2 = "Ben Ruby programlama yapıyorum!!!"
# Ruby kelimesini silelim
yazi2 = yazi2.sub("Ruby ", "")
# İlk hallerini ekrana basalım
puts yazi1 + yazi2
Bütün ünlem işaretlerini silelim:
# Kütüphaneleri yükle
require 'rubygems'
# Yazi tanımları
yazi1 = "Merhaba dünya!"
yazi2 = "Ben Ruby programlama yapıyorum!!!"
# Ruby kelimesini silelim
yazi2 = yazi2.gsub("!", "")
# İlk hallerini ekrana basalım
puts yazi1 + yazi2
Array’den Bir Hane Seçmek
En baştaki örnekte:
merhaba,dünya,ben,ruby,programlama,yapıyorum
yazısını virgüllerden parçalayarak bir dizi elde etmiştik. Şimdi bu dizinin sadece 3. elemanını ekrana yazdıralım:
# Kütüphaneleri yükle
require 'rubygems'
# Parçalanacak string
parcalanacak = "merhaba,dünya,ben,ruby,programlama,yapıyorum"
# ,'den ayır ve diziye ay
kelime_dizisi = parcalanacak.split(",")
# 3. girişi ekrana yazdır
puts kelime_dizisi[2]
3. ve 6. girişi değiştirip tamamını ekrana bastıralım:
# Kütüphaneleri yükle
require 'rubygems'
# Parçalanacak string
parcalanacak = "merhaba,dünya,ben,ruby,programlama,yapıyorum"
# ,'den ayır ve diziye ay
kelime_dizisi = parcalanacak.split(",")
# 3. ve 6. girişleri değiştir
kelime_dizisi[2]="biz"
kelime_dizisi[5]="yapıyoruz"
# Dizideki her bir giriş için girişi ekrana yazdır
kelime_dizisi.each do |kelime|
puts kelime
end
Array’den Bir Hane Silmek
Bir önceki örnekte “Ruby” yazısının bulunduğu girişi silip ekrana basalım:
# Kütüphaneleri yükle
require 'rubygems'
# Parçalanacak string
parcalanacak = "merhaba,dünya,ben,ruby,programlama,yapıyorum"
# ,'den ayır ve diziye ay
kelime_dizisi = parcalanacak.split(",")
# "Ruby" nin bulunduğu girişi sil
kelime_dizisi.delete_at(3)
# Dizideki her bir giriş için girişi ekrana yazdır
kelime_dizisi.each do |kelime|
puts kelime
end
4. konumda olduğunu elle belirterek sildik, şimdi de dinamik olarak bularak silelim:
# Kütüphaneleri yükle
require 'rubygems'
# Parçalanacak string
parcalanacak = "merhaba,dünya,ben,ruby,programlama,yapıyorum"
# ,'den ayır ve diziye ay
kelime_dizisi = parcalanacak.split(",")
# "ruby" nin bulunduğu girişi sil
kelime_dizisi.delete("ruby")
# Dizideki her bir giriş için girişi ekrana yazdır
kelime_dizisi.each do |kelime|
puts kelime
end
Başka programlama dillerine hakimseniz bu kadar basit olmasını beklemiyordunuz herhalde?
Sonuç
Umarım işinize yarar, iyi kodlamalar!