java split 分割字符串 | 您所在的位置:网站首页 › split截取字符串 › java split 分割字符串 |
1、特殊字符作为分隔符时需要使用\\进行转义(如\\ -> \\\\; | -> \\| ) 特殊字符 .$|()[{^?*+\\ 例如对"|"分隔 未转义 String str = "01|02|03"; String[] strArr = str.split("|"); System.out.println(strArr.length); //输出8 for (int i = 0; i < strArr.length; ++i) { System.out.println(strArr[i]);//输出0 1 | 0 2 | 0 3 } 转义 String str = "01|02|03"; String[] strArr = str.split("\\|"); System.out.println(strArr.length); //输出3 for (int i = 0; i < strArr.length; ++i) { System.out.println(strArr[i]);//输出01 02 03 } 或者 String str = "01|02|03"; String[] strArr = str.split("[|]"); System.out.println(strArr.length); //输出3 for (int i = 0; i < strArr.length; ++i) { System.out.println(strArr[i]);//输出01 02 03 } 或者 String str = "01|02|03"; // 以|为分隔符来分隔字符串 StringTokenizer st=new StringTokenizer(str,"|"); while(st.hasMoreTokens()) { System.out.println(st.nextToken());//输出01 02 03 } 2.注意对最后空字符的处理(通常有些情况在最后数据为空的时候只保留了个分隔符,如果不做处理的话,数据分割后的个数和预期不一样) String str = "01|02|03|"; //注意在最后多了一个|分隔符 String[] strArr = str.split("\\|"); System.out.println(strArr.length); //输出3 for (int i = 0; i < strArr.length; ++i) { System.out.println(strArr[i]);//输出01 02 03 } 如果需要保留最后一个空字符的数据,则需要将split的第二个参数设置为-1 String str = "01|02|03|"; //注意在最后多了一个|分隔符 String[] strArr = str.split("\\|",-1); System.out.println(strArr.length); //输出4 for (int i = 0; i < strArr.length; ++i) { System.out.println(strArr[i]);//输出01 02 03 空字符 } 附上源码: |
CopyRight 2018-2019 实验室设备网 版权所有 |