String: suche nach Wörter und in List<String> speichern

beta20

Top Contributor
Hallo zusammen,

ich stehe gerade etwas auf dem Schlauch...
Ich habe einen String, den ich durchsuchen möchte.
Enthält der String eine entsprechende Zeichenkombination: wie %?Picture

Nun kommt aber nach %?Picture immer noch eine Nummer, also %?Picture1?%
Genau all diese Strings möchte ich in einer Liste speichern.

Wie kann ich das machen?
 
Hallo.

Vielleicht mit sowas wie:

Java:
        Pattern compile = Pattern.compile("(\\%\\?)+(Picture)+[0-9]+(\\?\\%)");
        Matcher m = compile.matcher("Test%?Picture1?%und%?Picture2?%");

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

(Picture) kannst du auch mit [a-zA-Z] ersetzen.

Grüße
 
Zuletzt bearbeitet:
Hallo.

Vielleicht mit sowas wie:

Java:
        Pattern compile = Pattern.compile("(\\%\\?)+(Picture)+[0-9]+(\\?\\%)");
        Matcher m = compile.matcher("Test%?Picture1?%und%?Picture2?%");

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

(Picture) kannst du auch mit [a-zA-Z] ersetzen.

Grüße

Warum die ganzen quantifier? So kommt für "Test%?%?Picture1?%und%?Picture2?%" bspw. "%?%?Picture1?%" raus und nicht "%?Picture1?%".

Etwas vereinfacht:

Java:
Pattern compile = Pattern.compile("%\\?Picture(\\d+)\\?%");

Interessiert dich nur die Zahl dann:

Java:
System.out.println(m.group(1));
 

Zurück
Oben