日期:2014-05-20  浏览次数:20720 次

j2se-String.spilt,或("|")分隔符问题
public class TestSpilt {
	public static void main(String[] args) {
		String str="a|b";
		
		String[] array=str.split("|");
		array(array);
		
		array=str.split("\\|");
		array(array);
		
	}
	
	public static void array(String[] array)
	{
		System.out.println("------");
		for(String a:array)
		{
			System.out.println(a);
		}
		System.out.println("------");
	}
}

?

结果

------

a
|
b
------
------
a
b
------

?

第一个array长度是4

第二个array长度是2

?

对于正在表达式“|”是表示或的意思,属于特殊字符。如果要根据“|”分割的话需要转义变成“\|”,由于java字符串中“\”也是需要转义的,所以最后变成了“\\|”;

1 楼 shuangpan.zhang 2011-10-20