[java]Javaのsplitでちょっと混乱した。
Javaのsplitの話。
仕事で、"aa::bb::cc::dd::::"な文字列を{"aa","bb","cc","dd","",""}みたいな配列に変換しないといけなくなって、
最初は次みたいにやって失敗。
String[] str = "aa::bb::cc::dd::::".split("::");
- > ["aa","bb","cc","dd"]みたいになってしまった。
第2引数に負の数を入れたら解決
String[] str = "aa::bb::cc::dd::::".split("::",-1); -> {"aa","bb","cc","dd","",""}
レファレンスを見ると、splitの第2引数は、limitパラメータというもので、返り値の配列のサイズを指定するものとのこと
ちょっと試してみると、rubyでも同じように第2引数で制御していた。
"aa::bb::cc::::".split("::") -> ["aa","bb","cc"]
"aa::bb::cc::::".split("::",-1) -> ["aa","bb","cc","",""]
javascriptでは、第2引数はなくてよかった。
"aa::bb::cc::::".split("::") -> ["aa","bb","cc","",""]
最近javascriptでなれてたから忘れてたのかしら。
JavaのString.split(”,”)は、split(”,”, -1)にしたほうがいい - $ cd ./.にも同じことが書いてた。