Teil eines Strings suchen ?

Frankster

Mitglied
Hi!

Bei MYSQL ist ja es ja so, wenn ich vor dem String ein % - Zeichen setze, gibt er mir alle Daten aus, die z.b. mit ung enden.

%ung -> Haltung, Heilung usw.....

Gibts sowas in Java auch ?

Ich möchte gerne nach einem File auf der Festplatte suchen, wo ich nur ein paar Zeichen angeben:

Bsp:
Das komplette File auf der Platte lautet:
XYZ_20050728_150301.ts
Aber das einzige was ich genau was ist, das Datum am Ende (20050728_150301).
Daher soll er mir das File anzeigen, dass dieses Datum in Filenamen hat.

Mein Gedanke:
Ich lese die Zeichenanzahl des Files aus.
Gehe 17 Zeichen zurück (solange ist 20050728_150301.ts) und vergleiche dann Charakter mit Charakter.
Das wäre meine umständliche Lösung.
Gibt es vielleicht eine fertige Funktion die mir das erspart *g* :-)

Vielen dank um voraus
Frankster
 
hmm, du koenntest Regular Expressions beutzen, durchsuch mal das Forum da gibt s eine menge Beispiele, wenn deine Daten immer so aussehen wie oben muesste es so funktionieren
Code:
Matcher m = Pattern.Compile(deinString).matcher(".*(\\d{8}_\\d{6}).*");
while(m.find()){
System.out.println(m.group(1));
}
Schau dir mal die API der Regular Expressions an ..
mfg
 
Hi,

"Ich lese die Zeichenanzahl des Files aus.
Gehe 17 Zeichen zurück (solange ist 20050728_150301.ts) und vergleiche dann Charakter mit Charakter.
Das wäre meine umständliche Lösung."

Wenn du den Filenamen als String hast kannst du einfach über die Methode(der Klasse String) .indexOf(" 20050728_150301") prüfen, ob die Zeichenfolge in deinem String enthalten ist. Liefert -1, wenn nicht darin enthalten, sonst halt den index, wo die Zeichenfolge beginnt.Also einfach Prüfung ob ungleich -1.
 
Jep Genau :-)

Code:
File film = new File("D:\\STREAMEN\\");
String[] content = film.list();
    for (int i = 0; i < content.length; i++) {
        if(content[i].indexOf("20050728_1503") != -1){
	vorhanden = true;
	filename = content[i];
        }
        else {
	vorhanden = false;
        }
}
 
Zurück