Arama ve Değiştirme
gsub, sub, match
Arama ve Değiştirme, CoddyKit'te ücretsiz bir Ruby Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Ruby Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Ruby Academy kursu toplamda 4 dersten oluşur.
Alt Dize Bulma
index yöntemi, ilk eşleşmenin konumunu; eşleşme bulunamazsa nil değerini döndürür. include? doğru veya yanlış döndürür.
text = "hello world"
puts text.index("world")
puts text.include?("world")İlk Eşleşmeyi sub ile Değiştirme
sub, bir kalıbın yalnızca ilk geçtiği yeri yeni bir değerle değiştirir.
text = "cat cat cat"
puts text.sub("cat", "dog")Tüm Eşleşmeleri gsub ile Değiştirme
gsub, global substitution anlamına gelir. Tüm geçtiği yerleri değiştirir.
text = "cat cat cat"
puts text.gsub("cat", "dog")Düzenli İfadeleri Kullanma
Eğik çizgiler arasındaki /.../ gibi kalıplar düzenli ifadelerdir. /\d/ bir rakamla eşleşir. gsub ve sub, düzenli ifade kalıplarını kabul eder.
text = "a1b2c3"
puts text.gsub(/\d/, "*")Eşleşmeyi Denetleme
match?, düzenli bir ifade dizede herhangi bir yerde eşleşiyorsa doğru değerini döndürür. Denetimler için hızlı ve anlaşılırdır.
email = "ada@ruby.org"
puts email.match?(/@/)
puts "no at sign".match?(/@/)match ile Yakalama
match, bir MatchData nesnesi döndürür. [0] dizini eşleşmenin tamamını belirtir; parantezler, [1], [2] ve devamındaki dizinlerle erişilen yakalama grupları oluşturur.
data = "2024-05-30"
m = data.match(/(\d+)-(\d+)-(\d+)/)
puts m[1]
puts m[2]Tüm Eşleşmeleri scan ile Bulma
scan, dizedeki her eşleşmeyi içeren bir dizi döndürür. Tüm sayıları veya sözcükleri çıkarmak için idealdir.
text = "phone 555 and 777"
puts text.scan(/\d+/).inspectÇapalar
Çapalar, bir eşleşmeyi belirli bir konuma sabitler. ^ satırın başlangıcını, $ satırın sonunu belirtir. \A ve \z eşleşmeyi dizenin tamamının sınırlarına sabitler.
puts "hello".match?(/^hel/)
puts "hello".match?(/llo$/)
puts "hello".match?(/^world/)Karakter Sınıfları
Köşeli parantezler, izin verilen karakterlerden oluşan bir küme tanımlar. [aeiou] herhangi bir sesli harfle eşleşir. [a-z] herhangi bir küçük harfle eşleşir.
text = "Ruby"
puts text.gsub(/[aeiou]/i, "_")gsub Blokları
Her eşleşmeyi dinamik olarak dönüştürmek için gsub yöntemine bir blok aktarın. Eşleşen metin, bloğun bağımsız değişkenidir.
text = "one two"
result = text.gsub(/\w+/) { |w| w.upcase }
puts resultBüyük/Küçük Harfe Duyarsız Arama
Düzenli ifadenin sonuna eklenen i bayrağı, büyük ve küçük harf ayrımını yok saymasını sağlar.
text = "Hello HELLO hello"
puts text.gsub(/hello/i, "hi")Hızlı Kontrol
Arama ve değiştirme becerilerinizi kontrol edin.
Özet
Artık metin içinde arama yapıp metni değiştirebilirsiniz:
- Bulmak için
index,include?,match? - Değiştirmek için
sub(ilk eşleşme) vegsub(tümü) - Düzenli ifade kalıpları, çapalar ve karakter sınıfları
- Tüm eşleşmeleri çıkarmak için
scan, dinamik değiştirme için bloklar
Sırada: dizeleri bölme ve birleştirme.
puts "a,b,c".gsub(",", " | ")Sıkça Sorulan Sorular
“Arama ve Değiştirme” dersi ücretsiz mi?
Evet — “Arama ve Değiştirme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Ruby Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Ruby Academy kursu toplamda 4 dersten oluşur.
“Arama ve Değiştirme” dersinde ne öğreneceğim?
gsub, sub, match Ruby Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Ruby Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Ruby Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Arama ve Değiştirme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Ruby Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Ruby Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.