Java分割字符串

时间:2022-03-14 15:13:33

使用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 空字符串
        }

以上。