Java中Split函式的用法技巧

maqianmaqian發表於2011-03-16

在java.lang包中也有String.split()方法,都是返回是一個字元型陣列,但使用過程中還有一些小技巧。
如執行

		String[] arr = "2|33|4".split("|");
		System.out.println(arr.length);
		for (String string : arr) {
			System.out.println(string);
		}

 

出來的結果是:

7

2
|
3
3
|
4

 

 

奇怪吧,不過注意看一下API說明還是知道原因的.

 

java.lang.string.split
split 方法
將一個字串分割為子字串,然後將結果作為字串陣列返回。
stringObj.split([separator,[limit]])
引數
stringObj
必選項。要被分解的 String 物件或文字。該物件不會被 split 方法修改。
separator
可選項。字串或 正規表示式物件,它標識了分隔字串時使用的是一個還是多個字元。如果忽略該選項,返回包含整個字串的單一元素陣列。
limit
可選項。該值用來限制返回陣列中的元素個數。

說明
split 方法的結果是一個字串陣列,在 stingObj 中每個出現 separator 的位置都要進行分解

 

 

所以正常的寫法是這樣的:

1、如果用“.”作為分隔的話,必須是如下寫法:String.split("\\."),這樣才能正確的分隔開,不能用String.split(".");
2、如果用“|”作為分隔的話,必須是如下寫法:String.split("\\|"),這樣才能正確的分隔開,不能用String.split("|");
“.”和“|”都是轉義字元,必須得加"\\";
3、如果在一個字串中有多個分隔符,可以用“|”作為連字元,比如:“a=1 and b =2 or c=3”,把三個都分隔出來,可以用String.split("and|or");

相關文章