我运行下面的程序:拆分在多字符行分隔符使用模式匹配
public class TestClass {
public static void main(final String[] args) {
String valid = "abc|~abc|~abc|~abc|~abc|~|~|~|~|~|~|~abc";
String invalid = "xyz|~xyz|~xyz|~xyz|~xyz|~|~|~|~|~|~|~";
String delimiter = "|~";
Pattern pattern = Pattern.compile(Pattern.quote(delimiter));
String[] tokensValid = pattern.split(valid);
String[] tokensInvalid = pattern.split(invalid);
System.out.println("Valid: " + tokensValid.length);
System.out.println("InValid: " + tokensInvalid.length);
}
}
输出是:
Valid: 12
InValid: 5
但我感觉输出应该是:
Valid: 12
InValid: 12
它是如何工作的?