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