当String的split遇到“|”想用分隔符分割字串为子字串,看到String有split函数,想不用自己写了,但是运行结果
当String的split遇到“|”
想用分隔符分割字串为子字串,看到String有split函数,想不用自己写了,但是运行结果完全摸不着头脑。
- Java code
public static void main(String[] args){ String n = "ada|badf"; String[] m = n.split("|"); for(int i=0;i<m.length;i++){ System.out.println(m[i]); } }运行结果如下:
a
d
a
|
b
a
d
f
但是当把分隔符改变以后:
- Java code
public static void main(String[] args){ String n = "ada~badf"; String[] m = n.split("~"); for(int i=0;i<m.length;i++){ System.out.println(m[i]); } }输出结果就正常了:
ada
badf
[解决办法]
楼主忘了用转义符号了,这样就好了:
- Java code
public static void main(String[] args){ String n = "ada|badf"; String[] m = n.split("\\|"); for(int i=0;i<m.length;i++){ System.out.println(m[i]); } }
[解决办法]
这样也可
- Java code
public static void main(String[] args){ String n = "ada|badf"; String[] m = n.split("[|]"); for(int i=0;i<m.length;i++){ System.out.println(m[i]); } } 