Yanıtlar:
gGlobal olarak (tümü) yerine olduğu gibi, küresel açılımı:
İrb'de:
>> "hello".sub('l', '*')
=> "he*lo"
>> "hello".gsub('l', '*')
=> "he**o"
replaceve replaceAll. Ancak Ruby'nin kökleri gdeğiştiriciyi kullanan Perl'dedir. O şeylerden sadece biri.
subçok daha hızlı gsub, burada bir kıyaslama var github.com/JuanitoFatas/fast-ruby/blob/master/code/string/…
A, sentence, separated, by, commas".gsub!(/(.*),(.*)/,"\\2 \\1") => " commas A, sentence, separated, by" neden gsub!yalnızca ilk örneği buluyor / değiştiriyor gibi görünen herhangi bir fikriniz var mı?
Aradaki fark, subbelirtilen modelin yalnızca ilk oluşumunun yerini alması, oysa gsubtüm oluşumların yerini almasıdır (yani, genel olarak yerini alır).
subve gsubsırasıyla ilk ve tüm eşleşmeleri değiştirir.
sub(pattern, replacement, x, ignore.case = FALSE, perl = FALSE,
fixed = FALSE, useBytes = FALSE)
gsub(pattern, replacement, x, ignore.case = FALSE, perl = FALSE,
fixed = FALSE, useBytes = FALSE)
sub("4", "8", "An Introduction to R Software Course will be of 4 weeks duration" )
##"An Introduction to R Software Course will be of 8 weeks duration"
gsub("4", "8", "An Introduction to R Software Course will be of 4 weeks duration" )
##"An Introduction to R Software Course will be of 8 weeks duration"