znalezienie w texcie cyfr

0

Mam taki problem.
mam sobie jakis dłuższy text składający siez kilkudziesięciu wyrazów. oprócz wyrazów sa tez same cyfry. Chciałbym "wyłapać" "wyrazy" składajace sie z samych cyfer. Pobieram wyrazy za pomoca StringTokenizer, ale nie wiem jak sprawdzic czy pobrana wartosc to litery czy cyfry?

Jak to sprawdzic?

0

Np. poprzez wyrazenia regularne.

pozdrawiam
johny

0

Samos załatw wreszcie sobie neta, bo nie ma mnie kto gonić do programowania :P

0

johny, możesz bardziej dokładniej? Bo może sie troszke źle wyraziłem. Chodzi mi o liczby a nie cyfry A jeśli jest jakas klasa za to odpowiadająca to możesz mi powiedzieć jaka? Nie mam neta w chacie wiec nie mam za bardzo gdzie szukac. Jakiś prosty kodzik też by sie przydał ;).

0

Np. tak:

CharSequence input = " sdfkjh5 4353 534kjlk 34kj345   jklj3454kkl  345543 ";
String patternString = "\\s+(\\d+)+\\s+"; 
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(input);
while(matcher.find())
  for (int i=1; i<=matcher.groupCount(); i++) 
    System.out.println(matcher.group(i));

Z zalozeniem, ze na poczatku i koncu jest spacja, zeby odroznic slowo.

pozdrawiam
johny

0

A gdzie się wpisuje że szukanymi znakamisa cyfry?

0

\d - digit
(\d+) - grupa skladajaca sie z wiecej niz jednej cyfry

pozdrawiam
johny

0

Ok johny dzięki za pomoc. Połącze to ze StringTokenizerem i będzie miodzio:)

Pozdrawiam

0

Nie ma sprawy.

Maly blad:
(\d+) - grupa skladajaca sie z co najmniej jednej cyfry

pozdrawiam
johny

0
johny_bravo napisał(a)

Np. tak:

CharSequence input = " sdfkjh5 4353 534kjlk 34kj345   jklj3454kkl  345543 ";
String patternString = "\\s+(\\d+)+\\s+"; 
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(input);
while(matcher.find())
  for (int i=1; i<=matcher.groupCount(); i++) 
    System.out.println(matcher.group(i));

Z zalozeniem, ze na poczatku i koncu jest spacja, zeby odroznic slowo.

pozdrawiam
johny

rozumiem ze funkcja find() wyszukuje kolejny ciag pasujacy do wzorca ale o co dokladnie chodzi z petla for i groupCount() oraz group()? group() zwraca String ze znalezionym ciagiem ale kiedy moze byc przypadek, ze groupCount() zwroci wiecej niz 1?

Nie zakldalem nowego watku, zeby nie smiecic.

0

Moim zdaniem wygodniejszy w użyciu jest ten pakiet:
http://jakarta.apache.org/regexp/apidocs/org/apache/regexp/RE.html

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