Indeksy wszystkich wystąpień znaku w ciągu
Poniższy kod wyświetli 2
String word = "bannanas";
String guess = "n";
int index;
System.out.println(
index = word.indexOf(guess));
Chciałbym wiedzieć, jak uzyskać wszystkie indeksy „n” („zgadnij”) w wierszu „banany”
Oczekiwany wynik to:
[2, 3, 5]
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
14 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
<strike>
był
</strike>
w
Rozwiązania Petera Lowry'ego
https://stackoverflow.com/a/5034468/535871
.
Można to również zrobić jako pętlę :
[Uwaga: jeśli może być dłuższe niż jeden znak, możesz, analizując ciąg , przechodzić przez szybciej niż powyższe pętle ... Punktem odniesienia dla tego podejścia jest
Algorytm Boyera-Moore'a
https://en.wikipedia.org/wiki/ ... hm... Jednak wydaje się, że nie istnieje środowisko sprzyjające temu podejściu.]
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Wynik zostanie użyty w następujący sposób:
Lub jako tablica:
Anonimowy użytkownik
Potwierdzenie od:
w następujący sposób:-
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Oto rozwiązanie Kotlin umożliwiające dodanie tej logiki jako nowych metod do interfejsu API przy użyciu metody rozszerzenia:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Tej metody można użyć do znalezienia indeksów dowolnej flagi o dowolnej długości w ciągu, na przykład:
Anonimowy użytkownik
Potwierdzenie od:
zostanie podzielony spacjami bez podziału na słowa, jeśli to możliwe, a jeśli nie, zostanie podzielony według indeksów zgodnie z maxLen.
Inne metody służące do kontrolowania sposobu podziału: , .
Prosty kod testowy:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od: