我有一个xml文件列表,我试图只返回没有扩展名的文件名。 例如,如果我有:
String filename = "hello.xml";
如果文件名不同,我将如何只返回“hello”?
答案 0 :(得分:2)
String filenameSansExt = filename.replaceAll("\\.[^.]*", "");
答案 1 :(得分:1)
使用substring()
效率更高,而不是将replaceAll()
与正则表达式或任何其他正则表达式一起使用。
两个答案都不太令人满意:
lastIndexOf()
不存在时,'.'
会抛出异常(索引-1
)正确答案必须检查lastIndexOf()
的索引。
答案 2 :(得分:-1)
您可以在java中使用字符串的子字符串函数。您将从0开始(字符串的开头)并在第4个到最后一个字符(“。”)之前结束
String filename = "hello.xml";
String filename2 = filename.substring(0, filename.length() - 4);