李尧 发表于 2013-4-21 18:34
split方法是正则表达式分割, "."代表任意字符 所以为0.需要转义.
1.因为 public string[] split(string regex) 这里的参数的名称是regex ,也就是 regular expression (正则表达式)。这个参数并不是一个简单的分割用的字符,而是一个正则表达式,以下是split 方法的实现代码:
public string[] split(string regex, int limit) {
return pattern.compile(regex).split(this, limit);
}
split 的实现直接调用的 matcher 类的 split 的方法。我们知道,“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义。 只要将
String[] strs = "abc.ef".split(".");改为String[] strs = "abc.ef".split("\\.");
2.第二个是用c把字符串分割成2段字符串,两个字符串返回作为字符串数组的两个元素,所以字符串的长度当然为2 了 |