Szukam metody Ruby (1,9 ...), która pomoże mi znaleźć liczbę wystąpień znaku w ciągu. Szukam wszystkich wystąpień, nie tylko pierwszego.
Na przykład: „Melanie jest noobem” Istnieją dwa wystąpienia litery „a”. Jaka byłaby metoda Rubiego, której mógłbym użyć, aby to znaleźć?
Używam Ruby-doc.org jako odniesienia, a scan
metoda String: class
przykuła moją uwagę. Sformułowanie jest dla mnie trochę trudne do zrozumienia, więc tak naprawdę nie rozumiem pojęcia scan
.
Edycja: udało mi się to rozwiązać za pomocą scan
. Udostępniłem w filmie, jak to osiągnąłem.
Odpowiedzi:
Jeśli chcesz tylko liczbę „a”:
Dokumenty, aby uzyskać więcej informacji.
źródło
count
liczy znaki, a nie ciągi. „voyage.localhost.com” .count („www.”) jest tym samym, co „voyage.localhost.com” .count („w.”), a ponieważ nie ma w ani dwóch kropek, wynikiem jest 2.Ten link z pytania zadanego wcześniej powinien pomóc w skanowaniu łańcucha w Rubim
scan zwraca wszystkie wystąpienia łańcucha w ciągu jako tablicę, więc
wróci
źródło
scan
działa również z prostymi strunami, więcscan('a')
można go również używaćUdało mi się to rozwiązać, przepuszczając ciąg,
scan
jak pokazano w innej odpowiedzi.Na przykład:
Wyjścia:
2
Byłem również w stanie wyciągnąć wystąpienia, używając skanowania i przepuszczając żądło zamiast wyrażenia regularnego, które różni się nieznacznie od innej odpowiedzi, ale było pomocne w unikaniu wyrażenia regularnego.
Wyjścia:
Zbadałem te metody dokładniej w małym przewodniku wideo, który stworzyłem po tym, jak to rozgryzłem.
źródło