zliczanie wystąpień matcher.group()

0

Cześć,

Mam proste zadanie które m. in. ma zliczać wystąpienia podłańcucha w podanym łańcuchu - no więc piszę sobie:

import java.util.Scanner;
import java.util.regex.*;
import java.util.*;

public class ZliczanieMatcherGroup 
{

    public static void main(String[] args) 
    {

        Scanner input = new Scanner (System.in);
        System.out.println("Dawaj Stringa");
        String napis = input.nextLine();

        System.out.println("Jaki podstring chcesz liczyć w podanym String-u?");
        String s3 = input.nextLine();

            String regex = s3;
            Pattern pattern = Pattern.compile(regex);
            Matcher matcher = pattern.matcher(napis);

            while (matcher.find()) 
            {

                 System.out.println("MatcherGroup wywala:" + matcher.group());
            }
    }

}

i przykładowy wynik to:

Dawaj Stringa
słonie walą konie na balkonie
Jaki podstring chcesz liczyć w podanym String-u?
nie
MatcherGroup wywala:nie
MatcherGroup wywala:nie
MatcherGroup wywala:nie

Moje pytanie to jak policzyć te 3 wiersze aby wypluło mi liczbę?

Dzięki z góry :)

0

Ty poważnie? Chyba za dużo oglądania słoniów walących konie na balkonie...

int i =0;
while (matcher.find()) 
{
  i++;
}
System.out.println(i);
0

Thanks :). Szukałem jakiejś metody typu matcher.groupCount() a tu jak zwykle najprostsze rozwiązania są najlepsze! No cóż, grzechy początkującego.
Dzięki raz jeszcze!

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0