Regulären Ausdruck in String finden und Teilstring bekommen

jimb0p

Erfahrenes Mitglied
Hallo Zusammen,

nehmen wir an ich habe folgenden String "SVWZ+A29137" ohne Anführungszeichen. Oder "RN1934596 A25413", "A54123" usw. Wie bekomme ich aus jedem String die Zeichenfolge AXXXXX? Diese Zeichenfolge kann auch in beliebiger Kombination mit anderen Texten stehen, ich suche halt immer nach AXXXXX und wenn das im String enthalten ist, dann möchte ich den Wert dazu.

Vielen Dank schonmal!
 
Schon erledigt, habe es so umgesetzt:

Code:
Pattern pattern = Pattern.compile("A([0-9]{5,})");
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
    System.out.println(matcher.group(0));
} else {
    System.out.println("not found");
}
 
Als kleine Ergänzung: Wenn deine Folge immer 5 Zeichen lang ist, reicht auch "[0-9]{5}" anstatt "[0-9]{5,}". Letzteres setzt nur eine Mindestanzahl, wobei Ersteres genau 5 Zeichen erwartet.

Wo wir schon beim Thema sind: Falls du auch Ziffern aus anderen Sprachen erkennen willst, solltest du statt "[0-9]" "\d" nehmen.
 
Okay danke, das mit dem "\d" nehme ich mit rein. das {5,} ist gewollt da es fortlaufende Auftragsnummern sind.
 

Neue Beiträge

Zurück