Dateiname mit Regex parsen

  • Themenstarter Themenstarter scooterJava
  • Beginndatum Beginndatum
S

scooterJava

Gast
Ich möchte einen Dateinamen, dem ein beliebiger Pfad vorangestellt wird, diesen Pfad und die Dateiendung(en) abschneiden. Wie stelle ich das mit Regex an?

Beispiel:

\irgendein\langer.ganzlanger\pfad\dateiname.erweiterung.nocheineerweiterung => dateiname
 
Brauchst du dafür denn unbedingt einen Regex? Es würde einfach mit
Code:
File.getName().split("\\.")[0]
gehen (verdammt, ist ein Regex drin 😀). Oder eben mit
Code:
File.getName().substring(0, file.getName().indexOf("."))
. Eventuell überprüfen, ob überhaupt ein Punkt vorhanden ist.
 
Ja, ein RegEx ist nötig. Mit dem substring hätte ich das selbst geschafft ... 🙂
 
Möglichkeit wäre:

Java:
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class dateiname {

	public static void main(String[] args) {
		Pattern pattern = Pattern.compile("\\\\([\\p{L}]*)");
		String input = "\\irgendein\\langer.ganzlanger\\pfad\\dateiname.erweiterung.nocheineerweiterung";
		Matcher matcher= pattern.matcher(input);
		String dateiname = null;
		while(matcher.find()){
			dateiname = matcher.group(1);
		}
		System.out.println(dateiname);
	}
}
 

Zurück
Oben