Je recherche la méthode Ruby (1.9 ...) qui peut m'aider à trouver le nombre d'occurrences d'un caractère dans une chaîne. Je recherche toutes les occurrences, pas seulement la première.
Par exemple: "Melanie is a noob" Il y a deux occurrences de la lettre 'a'. Quelle serait la méthode Ruby que je pourrais utiliser pour trouver ceci?
J'ai utilisé Ruby-doc.org comme référence et la scan
méthode en question a String: class
attiré mon attention. Le libellé est un peu difficile pour moi à comprendre, donc je ne saisis pas vraiment le concept de scan
.
Edit: j'ai pu résoudre ce problème en utilisant scan
. J'ai partagé dans une vidéo comment je l'ai réalisé.
Réponses:
Si vous voulez juste le nombre de a:
Docs pour plus de détails.
la source
count
compte les caractères, pas les chaînes. "voyage.localhost.com" .count ('www.') est identique à "voyage.localhost.com" .count ('w.') et comme il n'y a pas de w et deux points, le résultat est 2.Ce lien d'une question posée précédemment devrait aider à scanner une chaîne dans Ruby
scan renvoie toutes les occurrences d'une chaîne dans une chaîne sous forme de tableau, donc
reviendra
la source
scan
fonctionne aussi avec des cordes simples, doncscan('a')
peut également être utiliséJ'ai pu résoudre ce problème en passant une chaîne
scan
comme indiqué dans une autre réponse.Par exemple:
Les sorties:
2
J'ai également pu extraire les occurrences en utilisant scan et en passant une piqûre au lieu de regex qui varie légèrement d'une autre réponse mais a été utile pour éviter les regex.
Les sorties:
J'ai exploré ces méthodes plus en détail dans un petit guide vidéo que j'ai créé après l'avoir compris.
la source