Ich möchte den Text und die spezifische Zeichenkette erhalten, bis sie mit einer anderen übereinstimmt. Ich habe "Anzahl der Türen: 5 Hinter dieser Tür bla bla bla ...Wie man Text zwischen zwei spezifischen Zeichenketten erhält
Anzahl der Türen: 6 Hinter dieser Tür bla bla bla" ich brauche „Türnummer zu erhalten: 5 Hinter dieser Tür bla bla bla ...“
String str = " Door 51 text1 Door 61 text2 Door 10 text3";
Pattern pattern = Pattern.compile("\\s\\bPage\\b\\s\\d+(.*?)\\s\\bPage\\b\\s\\d+");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println(matcher.group(1));
}
Dies ist mein Code, aber ich bekomme nur text1, wenn ich it.I Tür benötigen laufen 51 text1, Tür 61 text2, Tür 10 text3.
Warum spalten nicht nur die Zeichenfolge auf 'Door' spaltete dann die resultierenden Strings nach dem ersten Platz? Konvertiere den ersten Teil in int. Auf diese Weise erhalten Sie etwas wie "[[61," text2 "], [10," text3]]]. Keine Notwendigkeit für Regex. – domsson