StringUtils.split(String, String)と標準APIのString.split(String)の違い
Jakarta Commonsを勉強中。
Jakarta Commonsクックブック ―Javaプロジェクト必須のレシピ集
- 作者: Timothy M. O'Brien,長瀬嘉秀(監訳),株式会社テクノロジックアート
- 出版社/メーカー: オライリージャパン
- 発売日: 2005/08/20
- メディア: 大型本
- 購入: 2人 クリック: 38回
- この商品を含むブログ (38件) を見る
import org.apache.commons.lang.StringUtils; public class Main_JakartaTest { public static void main(String[] args) { String str = "ab, ,c d,,e,"; // 分割する文字列。 // java.lang.String.split String[] java_lang_split = str.split(","); System.out.println("java.lang.String.split######"); for (String tmp : java_lang_split) { System.out.println(tmp); } System.out.println("############################\n"); // StringUtils.split String[] commons_split = StringUtils.split(str, ","); System.out.println("commons.StringUtils.split###"); for (String tmp : commons_split) { System.out.println(tmp); } System.out.println("############################\n"); } }
以下実行結果。
java.lang.String.split###### ab c d e ############################ commons.StringUtils.split### ab c d e ############################
次に、先頭と最後のデリミタの扱いを調べるためのコードを実行。
import org.apache.commons.lang.ArrayUtils; import org.apache.commons.lang.StringUtils; public class Split { public static void main(String[] args) { String[] hoge = ",a,,b,".split(",", -1); System.out.println("Length: " + hoge.length + ", Array: " + ArrayUtils.toString(hoge)); String[] hige = ",a,,b,".split(",", 0); System.out.println("Length: " + hige.length + ", Array: " + ArrayUtils.toString(hige)); String[] hoga = StringUtils.split(",a,,b,", ",", 0); System.out.println("Length: " + hoga.length + ", Array: " + ArrayUtils.toString(hoga)); } }
以下実行結果。
Length: 5, Array: {,a,,b,} Length: 4, Array: {,a,,b} Length: 2, Array: {a,b}
結論。