Aus String bestimmte Inhalte auslesen

Miyoko

Mitglied
Hallo,

ich brauch eine Funktion die aus einem String Inhalte an einer bestimmten Stelle ausliest.

Ein Input String könnte so aussehen:
TEXT1 das ist ein String TEXT2 das ist der zweite String

Und Herausbekommen möchte ich einen String array mit den Werten

[0] => "das ist ein String"
[1] => "das ist der zweite String"

Leider habe ich mit Regexp sehr wenig Erfahrung und weiß daher nicht wie ich das am Einfachsten lösen kann.

Gruß,
Miyoko
 
Das Problem ist, dass ich mit substring, usw... nicht so flexibel bin.
Eventuell könnte statt dem TEXT1 und TEXT2 auch andere Teilstrings stehen.

Es geht darum anhand von einem Muster die Inhalte zu lesen.
x Zum Auslesen x2 Zweiter String zum Auslesen

Sowas in der Art.
 
Das Problem ist, dass ich mit substring, usw... nicht so flexibel bin.
Das zweifle ich mal an, wenn man nach konkreten Texten bzw. Textgrenzen sucht, denke ich ist man mit beiden Varianten mindestens gleich flexibel. Im Gegenteil muss man bei RegExp noch darauf achten Metazeichen zu maskieren falls diese im den Ausdrücken vorkommen.

Achtung folgende Zeilen wurden nicht kompliliert bzw. in einem Editor erstellt und können daher Fehler enthalten:
Java:
Pattern pattern = Pattern.compile(x1 + "(.*?)" + x2 + "(.*)");
Matcher matcher = pattern.matches(derTextDerDurchsuchtWerdenSoll);
while(matcher.find())
    System.out.println(matcher.group(1) + " | " + matcher.group(2));
 
Zuletzt bearbeitet:
Danke!

Das macht im Grunde genau das was ich wollte.

Nur ein Fehler!

Java:
Matcher matcher = pattern.matches(derTextDerDurchsuchtWerdenSoll);
und nicht
Java:
Matcher matcher = pattern.matcher(derTextDerDurchsuchtWerdenSoll);
 
mit matcheR hats bei mir funktioniert und mit matcheS hat er einen weiteren parameter verlangt. Hab mich jetzt noch nich genau erkundigt was der Unterschied im einzelnen ist, aber auf jedenfall habe ich das gewünschte Ergebnis.
 
mit matches kannst du überprüfen, ob ein Regex den du übergibts eine String ,den du ebefalls übergibst ( zweiter Parameter), beschreibt.
 

Zurück
Oben