Witam,
Mam pewien problem dotyczący zadania z użyciem wyrażen regularnych.
Z tekstu wprowadzonego do pliku mam zapisać maksymalnie do 100 tokenów (każdy oddzielny spacjami), a następnie używając wyrażeń regularnych sprawdzić ile wyrazów i liczb zostało wprowadzonych do zmiennej typu StringBuffer.
I tutaj pojawia się problem, ponieważ nie wiem do czego mam porównywać w pattern-matcher.
Jestem raczej pewny, że nawet sam mój zapis jest błędny i powinno to wyglądać inaczej, ale proszę o pomoc albo jakąś wskazówkę co powinno się w takiej sytuacji znaleźć w miejscu ????
import java.util.regex.*;
import java.io.*;
public class WyrazaeniaR{
public static void main(String[] args)throws Exception{
int wordCount = 0;
int numberCount = 0;
StringBuffer strContent = new StringBuffer("");
StreamTokenizer sToken = new StreamTokenizer(new FileReader("C:\\1.txt"));
while (sToken.nextToken() != StreamTokenizer.TT_EOF){
if (sToken.ttype == StreamTokenizer.TT_WORD && wordCount < 100) {
strContent.append(sToken.sval+" ");
Pattern slowo = Pattern.compile("\\w+");
Matcher slowoText = slowo.matcher(????);
boolean a = slowoText.matches();
while (a == true)
wordCount++;
}
else if (sToken.ttype == StreamTokenizer.TT_NUMBER){
strContent.append(sToken.nval+" ");
Pattern liczba = Pattern.compile("\\d+");
Matcher liczbaText = liczba.matcher(????);
boolean b = liczbaText.matches();
while (b == true)
numberCount++;
}
}
System.out.println("Liczba slow "+wordCount);
System.out.println("Liczba liczb "+numberCount);
System.out.println(strContent);
}
}
Pozdrawiam,