如何使用java中的分隔符拆分数字

时间:2013-06-01 01:41:15

标签: java

我在文件中有一个输入,其中我有一些格式为

的数字

106648 | 403481 747826 | 369456 758122 | 365637 503576 | 808710 325374 | 402513

我不想将数字格式化为 106648 403481 747826 .. 依此类推但我无法做到这一点到目前为止我已经做到了这一点

public class MidPointSum {

public static void main(String[] args) {

    File file=new File("D:/midpoint.txt");

    try{

        Scanner sc=new Scanner(file);

            while(sc.hasNext()){

                String value=sc.next();

                String getVal[]=value.split("|");
                for(int i=0;i<getVal.length;i++){

                    System.out.println(getVal[i]);
                }

            }

    }catch(FileNotFoundException e){
        System.err.println("File is not Found");
    }catch (Exception e){
        System.err.println("Another Exception");
    }

}

但我没有得到所需的输出。请有人帮助我..

2 个答案:

答案 0 :(得分:2)

Java的split使用正则表达式,因此你需要双重转义管道:

String[] getVal=value.split("\\|");

如果它是普通的正则表达式,你无论如何都需要逃避它,但是在"\"\tspecial character in a string,因为\n和{{1}}这样的字符,因此双重逃脱。

答案 1 :(得分:1)

|是一个正则表达式元字符,需要进行转义,请尝试"\\|"