Pattern Matching - Filename ohne Endung

downset04

Erfahrenes Mitglied
Hallo

Ich kriegs nicht hin - wie bekomm ich aus einem File mit Pfad z.b. /tmp/bla/blub/foofoo.bin das foofoo raus? ohne Endung? Also nur der Name des Files nicht die Endung?

thx downset04
 
Hallo,

schau mal hier

Java:
package de.tutorials;

import java.io.File;
import java.util.StringTokenizer;

public class CutExtensionExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		File file =new File("C:/test.txt"); 
		System.out.println(cutExtension(file.getAbsolutePath()));

	}

	private static String cutExtension(String s) {
		
		if (s == null)
			return s;
		String point = ".";
		StringTokenizer st = new StringTokenizer(s, ".");
		if (st.countTokens() < 3)
			return st.nextToken();
		StringBuffer ret = new StringBuffer();
		
		
		while(st.countTokens() > 1){
			ret.append(st.nextToken());
			if(st.countTokens() > 1){
				ret.append(point);
			}
		}
		
		return ret.toString();
	}
}

So können auch mehrere Punkte in einem Dateinamen vorkommen oder die Dateiendung beliebig lang sein.

MFG

zEriX
 
Hallo

Den Pfad brauch ich auch nicht dazu nur den filename ohne extension also nur "foofoo"

Hab da was gefunden ->
Code:
("/(.*)[\/\\]([^\/\\]+)\.\\w+$/")
blos wie schaut der Reguläre Ausdruck in Java aus das ist Perl?
 
Zuletzt bearbeitet:
Zurück