In String Suchen

Hi,

Ich will mir jedes Element in einer Zeile Anzeigen lassen und dahinter die Anzahl, wie oft es in dem String vorkommt.
Folgender Code tat nicht bei mir:

 Pattern p;
 Matcher m;
 for(int counter = 0; counter " + lines[counter]);
 p = Pattern.compile(lines[counter]);
 m = p.matcher(data); // String data
 out.print(": " + m.groupCount());
 }

Er schrieb nur Nullen bei m.groupCount().

cu Desian

vielleicht estwas übersichtlicher:

out.print(": " + Pattern.compile("al").matcher("HalloHallo").groupCount());

sollte doch logischeweise ‚2‘ ausgeben. Da kommt aber ‚0‘ raus.
Das muß doch irgendwie gehen. Ich will nicht einen Riesen Umweg gehen (sprich: 'ne eigene, umfangreiche Funktion schreiben), wenn es eigendlich so einfach sein sollte.

cu Desian

vielleicht estwas übersichtlicher:
Pattern.compile(„al“).matcher(„HalloHallo“).groupCount());

Uebersichtlicher vielleicht, dafuer aber schlechter lesbar. :wink:

sollte doch logischeweise ‚2‘ ausgeben. Da kommt aber ‚0‘
raus.

Ich habe mich jetzt nicht eingehender damit beschaeftigt, aber
soviel ich verstanden habe, wird er 1 ausgeben, aber auch nur
dann, wenn du „al“ in Klammern schreibst, also so „(al)“.
Eine kleine Erklaerung findest du hier:
http://javaalmanac.com/egs/java.util.regex/Group.html

Noch ein anderes Beispiel:
http://www.javapractices.com/Topic87.cjp

Gruss, Patrick