パイプで区切られたレコードを解析しようとしています。私はこのコードを持っています:
public class Test {
public static void main(String[] args) throws Exception {
String[] components = "EN|1056209|||KA3NDL|L|||||||||||||||||||||".split("\\|");
System.out.println(java.util.Arrays.toString(components));
}
}
あなたはそれが印刷されることを期待します:
[EN, 1056209, , , KA3NDL, L, , , , , , , , , , , , , , , , , , , , , ]
しかし、そうではありません。それは印刷します:
[EN, 1056209, , , KA3NDL, L]
length
配列の属性にアクセスすると、components
正しく印刷されていることがわかります。
これが/回避策である理由を知っている人はいますか?
編集:
これは機能します:
public class Test {
public static void main(String[] args) throws Exception {
String[] components = "EN|1056209|||KA3NDL|L|||||||||||||||||||||".split("\\|", -1);
System.out.println(java.util.Arrays.toString(components));
}
}