如何在java中的点之后拆分字符串

时间:2014-07-01 05:59:29

标签: java

我要求我必须拆分具有.xls或.xlsx扩展名的String。我必须从本地上传文件并将其保存在我的项目目录中。我能够做到这一点。现在的要求是我必须检查上传的文件是否重复我将更改文件的名称并将扩展附加到那个。所以我多个客户端访问该文件并尝试上传每个文件的不同名称应保存到文件夹中。所以我这样做是为了分割Sring,但我不想要这种方法。

public class RenameFile {

    public static void main(String[] args) {

        String str = new String("Udemy.txt");

        String result[] = str.split("\\.");

        for (String ff : result) {
            System.out.println(ff);
        }
    }
}

我没有操作我的String.i的循环想要一些只会剪切fileName和ext的东西,我可以将它存储在某个地方然后在opeartion之后我也可以追加它们。请帮助..

4 个答案:

答案 0 :(得分:7)

文件扩展名是最后一个点之后的部分,因此以下内容应该可以使用

String str = "Udemy.txt";
String fileName = str.substring(0, str.lastIndexOf("."));
String extension = str.substring(str.lastIndexOf(".") + 1);

答案 1 :(得分:2)

你可以这样使用,

 String result[] = str.split(".");
String fileName = result[0];
String extension = result[1];

答案 2 :(得分:2)

试试这个,

String fileName = "MyFile.xls";     
int dotIndex = fileName.lastIndexOf(".");
String name = fileName.substring(0, dotIndex); // MyFile
String extension = fileName.substring(dotIndex); // .xls
// then you can change and re-construct the file name

答案 3 :(得分:0)

String str = "Udemy.txt";
int ix = str.lastIndexOf('.');
if (ix >= 0) {
    String ext = str.substring(ix);
    String root = str.substring(0, ix);
    ...
}