如何在java中根据句点“.”分割字符串

Aja*_*ola 1 java

在这里,我输入一个字符串,其中用户输入带有扩展名的文件名,我想编写一个程序来给出文件的扩展名,但是当我运行这个程序时,它给出了异常 arrayindexoutofbound 异常,有什么原因吗?

导入java.util.Scanner;

public class Extensionfile {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter file with data type");
        String file = sc.next();
        String parts[] = file.split(".");
        String part1 = parts[1];
        System.out.println("The file type is"+part1);

    }
}
Run Code Online (Sandbox Code Playgroud)

Dea*_*ool 6

由于句点.是java正则表达式中预定义的字符类,因此您应该按以下方式使用

String parts[] = file.split("\\.");
Run Code Online (Sandbox Code Playgroud)

或者

String parts[] = file.split("[.]");
Run Code Online (Sandbox Code Playgroud)

在这里查看更多信息