在Java中,最有效的方式是什么来截取后缀,例如:
title part1.txt
title part2.html
=>
title part1
title part2
private String trimFileName(String fileName)
{
String[] ext;
ext = fileName.split("\\.");
return fileName.replace(ext[ext.length - 1], "");
}
这段代码将文件名按照 " . " 进行分割。例如,如果文件名为 file-name.hello.txt,它将被拆分为字符串数组 { "file-name", "hello", "txt" }。因此,这个字符串数组的最后一个元素将是该特定文件的文件扩展名,我们可以简单地通过使用 arrayname.length - 1
找到任何数组的最后一个元素,所以在了解了最后一个元素之后,我们可以仅仅用空字符串替换该文件名中的文件扩展名。最后,这将返回 file-name.hello.,如果您想要移除最后一个句号,那么您可以将只有句号的字符串添加到返回行中的字符串数组的最后一个元素中。这应该看起来像:
return fileName.replace("." + ext[ext.length - 1], "");
file-doc-new.marketing.doc
的数据产生意外的结果,因为它会移除掉 doc
这个单词的两个实例。 - Mike KString title_part = "title part1.txt";
int i;
for(i=title_part.length()-1 ; i>=0 && title_part.charAt(i)!='.' ; i--);
title_part = title_part.substring(0,i);
public static String removeExtension(String file) {
if(file != null && file.length() > 0) {
while(file.contains(".")) {
file = file.substring(0, file.lastIndexOf('.'));
}
}
return file;
}
file.length()> 0
检查有什么作用? - Klaus Gütter