2015-03-12 31 views
8

'u "good" için değiştirmek için gsub yapıyorum. capitalize'u kullanmanın bir yolu var mı, böylece hem alt hem de büyük harfleri değiştirecek mi? Yoksa def'u iki kere yazmam gerekecek mi? örneğin, aynı zamanda sadece 'bad' ve 'BAD' ama yerine geçeceğiBüyük/küçük harf duyarlı "gsub" yapmak mümkün mü?

def add_more_ruby(string) 
    string.gsub(/bad/i, 'good') 
end 

not:

def add_more_ruby(string) 
    string.gsub('bad','good').capitalize 
end 
+1

bir yöntemin bir davranış olduğundan emin değilseniz, onu açıklayan bir tahminde yapmak iyi değildir. Burada, "sermayeleştirme" den bahsetmek, aslında yapmak istediğin şeyle alakasız ve bunu anlamak çok zor. Bunun yerine, sıradan kelimelerle ne yapmak istediğinizi yazın. – sawa

+2

'Bad'' 'Good' ya da' good' ile değiştirilmeyi bekliyor musunuz? – Stefan

cevap

24

Bu regexp'in duyarsız durumda olduğunu gösterir i seçeneğiyle, String yerine Regexp geçebilir , 'bAd'. Yalnızca hepsi büyük harf veya hepsi küçük harf yerine istiyorsanız, bunu yapabilirsiniz:

string.gsub(/bad|BAD/, 'good') 
+0

Çok teşekkür ederim. Zamanımı kurtardım. – Mano

İlgili konular