Matcher group mehrfachvorkommen

Status
Nicht offen für weitere Antworten.
V

Vayu

Gast
Hallo,

ne ganz simple Sache eigentlich ... dachte ich (in Perl ists zumindest super simpel)

ich habe folgenden "vereinfachten" String "a;b;c;d;e"

und möchte nun, dass mir

Code:
a;
b;
c;
d;
e

ausgegeben wird. Ich krieg noch graue Haare hier ...

Und nein split() ist keine Option :D

Code:
Pattern p = Pattern.compile("^([a-z];)+?([a-z])$");

String candidateString = "a;b;c;d;e";

Matcher matcher = p.matcher(candidateString);

while (matcher.find()) {
      for( int i = 1; i < matcher.groupCount(); i++ )
           System.err.println(matcher.group(i));
}
 
S

SlaterB

Gast
ersetze doch vorher jedes ; durch ein ;# und splitte dann nach # ;)

edit:

Code:
public class Test
{
    public static void main(String[] args)
        throws Exception
    {
        Pattern p = Pattern.compile("[a-z]+;?");

        String candidateString = "a;b;c;d;e";

        Matcher matcher = p.matcher(candidateString);

        while (matcher.find())
        {
            System.out.println(matcher.group());
        }
    }
}
 
V

Vayu

Gast
HA! Danke ... da hab ich wieder zu kompliziert gedacht ...
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben