public static void main(String[] arg){
String s = "";
System.out.println(s.split(";").length);

}
本人希望得到打印结果为0,请哪位高手指点一下

解决方案 »

  1.   

    不可能为0的,即使源串中没有分隔符,整个串也会作为split结果的一项
      

  2.   

    这个很好处理啊,如果split的结果返回是1,则是没有分隔符或者只有一个分隔符且后面没有数据,
    这个时候减1就好了。
      

  3.   

    (s.split(";").length)-1  妥了!
      

  4.   

    应该只能返回1把,就是说在split里面的字符串如果没有定义的分隔符的时候,至少返回1,
      

  5.   

    (s.split(";").length)-1 妥了,大家回答的都是答案了
      

  6.   

    if(s!=""){
    System.out.println(s.split(";").length);
    }
      

  7.   

    API有说明:
    此方法返回的数组包含此字符串的子字符串,每个子字符串都由另一个匹配给定表达式的子字符串终止,或者由此字符串末尾终止。数组中的子字符串按它们在此字符串中出现的顺序排列。如果表达式不匹配输入的任何部分,那么所得数组只具有一个元素,即此字符串。 
      

  8.   

    System.out.println(s.indexOf(";")==-1?0:s.split(";").length);
      

  9.   

    if(s.indexOf(";") == -1)
      return 0;
    else
      return s.split(";").length;