Saya mencari metode Ruby (1.9 ...) yang dapat membantu saya menemukan jumlah kemunculan karakter dalam sebuah string. Saya mencari semua kejadian, bukan hanya yang pertama.
Misalnya: "Melanie adalah noob" Ada dua kemunculan huruf 'a'. Apa metode Ruby yang dapat saya gunakan untuk menemukan ini?
Saya telah menggunakan Ruby-doc.org sebagai referensi dan scan
metode yang String: class
menarik perhatian saya. Kata-katanya agak sulit untuk saya pahami, jadi saya tidak terlalu memahami konsepnya scan
.
Sunting: Saya bisa menyelesaikan ini menggunakan scan
. Saya berbagi dalam video bagaimana saya mencapainya.
Jawaban:
Jika Anda hanya menginginkan bilangan a:
Docs untuk lebih jelasnya.
sumber
count
menghitung karakter, bukan string. "voyage.localhost.com" .count ('www.') sama dengan "voyage.localhost.com" .count ('w.') dan karena tidak ada w dan dua titik hasilnya adalah 2.Tautan ini dari pertanyaan yang ditanyakan sebelumnya akan membantu memindai string di Ruby
scan mengembalikan semua kemunculan string dalam string sebagai array, jadi
akan kembali
sumber
scan
bekerja dengan Strings sederhana, juga, jadiscan('a')
bisa digunakan jugaSaya bisa menyelesaikan ini dengan melewatkan string
scan
seperti yang ditunjukkan dalam jawaban lain.Sebagai contoh:
Keluaran:
2
Saya juga dapat menarik kejadian dengan menggunakan scan dan melewati sengatan alih-alih regex yang sedikit berbeda dari jawaban lain tetapi membantu untuk menghindari regex.
Keluaran:
Saya menjelajahi metode ini lebih jauh dalam panduan video kecil yang saya buat setelah saya mengetahuinya.
sumber