(Without including any external libraries.)
What's the most efficient way to remove the extension of a filename in Java, without assuming anything of the filename?
Some examples and expected results:
(or should the last one be just hidden?)
Edit: The original question assumed that the input is a filename (not a file path). Since some answers are talking about file paths, such functions should also work in cases like:
This particular case is handled very well by Sylvain M's answer.
Using common io from apache http://commons.apache.org/io/
public static String removeExtension(String filename)
FYI, the source code is here:
Arg, I've just tried something...
System.out.println(FilenameUtils.getExtension(".polop")); // polop
System.out.println(FilenameUtils.removeExtension(".polop")); // empty string
So, this solution seems to be not very good... Even with common io, you'll have to play with removeExtension() getExtension() indexOfExtension()...