# Pattern Matching  - Filename ohne Endung



## downset04 (11. Oktober 2007)

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


----------



## hmueller (11. Oktober 2007)

Moin,
mit Dateiname.subString() kannst Du die letzten Characters abschneiden. 
Gruß
Henning


----------



## zerix (11. Oktober 2007)

Hallo,

schau mal hier


```
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


----------



## downset04 (11. Oktober 2007)

Hallo 

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

Hab da was gefunden ->

```
("/(.*)[\/\\]([^\/\\]+)\.\\w+$/")
```
blos wie schaut der Reguläre Ausdruck in Java aus das ist Perl?


----------

