String mit verschiedenen Zeichen analysieren

  • Themenstarter Themenstarter GarstigeGästin
  • Beginndatum Beginndatum
G

GarstigeGästin

Gast
Hallo!

Wie kann ich aus einem Array mit sagen wir 32 standartisierten Dateinamen (Strings) einen gewissen Bereich herausschneiden, wenn die String Länge variiert?

Ich hab nämlich Dateinamen die alle in etwa so aussehen:
BPF_CRM_2010-02-12_201001_CRM139782741.meta
BPF_COSTCENTRE_2010-02-12_201001_CRM139782741.gz

Und zwar brauche ich von den Dateinamen die letzte Zahl vor CRM z.B. hier "201001". Da die Länge der Strings variieren kann ich keine substring Methode anwenden und nur auf Zahlen filtern funzt ned.

Kann ich dem Programm sagen er soll die Zeichen zwischen den letzten beiden Unterstrichen herausnehmen oder beschneiden? Zum Beispiel die Indizes von den letzten beiden Underlines in einen substring packen und beschneiden. Gibts etwas eleganteres?

Vielen Dank und Lg!
 
So auf die Schnelle:
Java:
String input = "BPF_COSTCENTRE_2010-02-12_201001_CRM139782741.gz";
String result = input.replaceFirst("^.*_\\d{4}(-\\d{2}){2}_(\\d+)_.*$", "$2");
Natürlich ist das [c]replaceFirst()[/c] nicht gerade hübsch 😉 2 Zeilen mehr, und man machts hübsch mit einem Matcher.
 
So auf die Schnelle:
Java:
String input = "BPF_COSTCENTRE_2010-02-12_201001_CRM139782741.gz";
String result = input.replaceFirst("^.*_\\d{4}(-\\d{2}){2}_(\\d+)_.*$", "$2");
Natürlich ist das [c]replaceFirst()[/c] nicht gerade hübsch 😉 2 Zeilen mehr, und man machts hübsch mit einem Matcher.

Was macht diese Methode? Kannst du mir das kurz beschreiben? Irgendwie blick ich da nicht durch. Was bedeuten diese zwei Parameter?
 
So, hab das jetzt mal ausprobiert. Und es funzt, dir sei Dank!

*räusper* Meine Theoretische Informatik Kenntnisse sind zunehmend eingerostet, hab ich bemerkt als ich versucht hab den regulären Ausdruck zu entschlüsseln.

Vielen Dank :3
 

Neue Themen


Zurück
Oben