如果我用 "|" 字符分割 "hello|" 和 "|hello" ,那么我会得到第一个的一个值以及第二个版本的两个值。
String[] arr1 = new String("hello|").split("\\|");
String[] arr2 = new String("|hello").split("\\|");
System.out.println("arr1 length: " + arr1.length + "\narr2 length: " + arr2.length);
打印出:
arr1 length: 1
arr2 length: 2
这是为什么?
最佳答案
根据java docs 。如果第一个字符是分隔符,split
将创建一个空字符串,但如果最后一个字符(或连续字符)是分隔符,则不会创建空字符串(或多个空字符串)。无论您使用什么分隔符,您都会得到相同的行为。
关于Java字符串分割不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31516742/