Java分割字符串

使用String.split函数进行字符串分割时需要注意下面两个事情

1.特殊字符作为分隔符时需要使用\进行转义(比如使用\作为分隔符的话,则转义为\\)

.$|()[{^?*+\

比如这里对|分隔符字符串进行分割

        String str = "a|b|c";
        String[] strArr = str.split("\|");
        System.out.println(strArr.length); //这里输出3
        for (int i = 0; i < strArr.length; ++i){
        System.out.println(strArr[i]);//这里输出a b c
        }

2.注意对最后空字符的处理(通常有些情况在最后数据为空的时候只保留了个分隔符,如果不做处理的话,数据分割后的个数会偏离预期)

        String str = "a|b|c|"; //注意这里在最后多了一个|分隔符
        String[] strArr = str.split("\|");
    System.out.println(strArr.length); //这里输出3
        for (int i = 0; i < strArr.length; ++i){
        System.out.println(strArr[i]);//这里输出a b c
        }

如果你需要保留最后一个空字符的数据,则需要将split的第二个参数设置为-1

        String str = "a|b|c|";//注意这里在最后多了一个|分隔符
        String[] strArr = str.split("\|",-1);//这里将第二个参数设置为-1
        System.out.println(strArr.length); //这里输出4
        for (int i = 0; i < strArr.length; ++i){
        System.out.println(strArr[i]);//这里输出a b c 空字符串
        }

以上。

原文地址:https://www.cnblogs.com/chevin/p/9241468.html