Saya telah membaca dokumentasi untuk String
hari ini, dan saya melihat :sub
metodenya, yang tidak pernah saya perhatikan sebelumnya. Saya telah menggunakan :gsub
dan tampaknya mereka pada dasarnya sama. Adakah yang bisa menjelaskan perbedaannya kepada saya? Terima kasih!
111
Jawaban:
The
g
singkatan global, seperti dalam menggantikan global (semua):Dalam irb:
sumber
replace
danreplaceAll
. Tapi Ruby berakar pada Perl yang menggunakang
pengubah. Itu hanya salah satu dari hal-hal itu.sub
jauh lebih cepat daripadagsub
, ada patokan di sini github.com/JuanitoFatas/fast-ruby/blob/master/code/string/…A, sentence, separated, by, commas".gsub!(/(.*),(.*)/,"\\2 \\1") => " commas A, sentence, separated, by"
Adakah pemikiran mengapagsub!
hanya tampaknya hanya menemukan / mengganti contoh pertama saat menggunakan grup regex?Perbedaannya adalah bahwa
sub
hanya menggantikan kemunculan pertama dari pola yang ditentukan, sedangkangsub
melakukannya untuk semua kemunculan (yaitu, menggantikan secara global).sumber
sumber
sub
dangsub
melakukan penggantian masing-masing pertandingan pertama dan semua.sumber