问题:要把字符串String str = "我|爱|你";使用分割符拆分为一个数组,很容易想到使用方法split("|"),代码如下:
public class SplitTest { public static void main(String[] args) { String str = "我|爱|你"; /*拆分*/ String[] strArr = str.split("|"); System.out.println("length:" + strArr.length); /*遍历*/ for (int i=0; i<strArr.length; i++){ System.out.println(strArr[i]); } } }
然而,结果却不是我们想要的,如图:
哎,不对啊,为什么是这个效果啊!
原因:split(String regex):参数是正则表达式!"."和"|"都是转译字符,需要进行转译必须得加上"\\"。
正确代码如下:
public class SplitTest { public static void main(String[] args) { String str = "我|爱|你"; /*拆分【需要进行转译】*/ String[] strArr = str.split("\\|"); System.out.println("length:" + strArr.length); /*遍历*/ for (int i=0; i<strArr.length; i++){ System.out.println(strArr[i]); } } }
结果正确显示: