以下Java代码将打印"0".我希望这会打印"4".根据Java API String.split"将此字符串拆分为给定正则表达式的匹配项".并从链接的正则表达式文档:
预定义的字符类
.任何字符(可能与行终止符匹配也可能不匹配)
因此,我希望在每个角色上分开"测试".我显然是在误解某些东西.
System.out.println("Test".split(".").length); //0
你是对的:它在每个角色上分开.但是,此函数不返回"split"字符,因此得到0.
javadoc中的重要部分:"因此,尾随空字符串不包含在结果数组中."
我想你想要"Test".split(".", -1).length(),但这将返回5而不是4(有5个''空格'':一个在T之前,一个在T和e之间,另一个在es,st,最后一个在最后的t之后.)