先看一段代码:
String line = "openssh|7.1"; String[] pkg = line.split("|"); System.out.println(pkg.length); System.out.println(pkg[0]);
按照C++的经验,想当然第一行输出是2,第二行是 openssh;可是实际输出却是11和"o"。最终查找资料有如下发现:
1、如果用“.”作为分隔的话,应该是String.split("\."),不能用String.split(".");
2、如果用“|”作为分隔的话,应该是String.split("\|"),不能用String.split("|");
“.”和“|”都是转义字符,必须得加"\";
略坑。