我觉得split和SCANNER 的区别总不是很明显。

解决方案 »

  1.   

    Scanner是用来从控制台输入字符串的类,比如:
         Scanner sc=new Scanner(System.in);
        String s=sc.next();split是用来拆分有明显分隔符的字符串的方法,比如:
         String s = "abc,def,gh";
         String[] ss = s.split(":");
    得到的是一个拆分后的数组
      

  2.   

    scanner一般用来分隔很长的文本,split则对分隔后作进一步细致的划分
    Scanner scanner = new Scanner(new File(file));
    try {
        while ( scanner.hasNextLine() ){
            String[] tokens = scanner.nextLine().split("。");
            //再做处理
        }
    }
    finally {
        scanner.close();
    }
      

  3.   

    split 粗放
    Scanner 精细Parse text
      

  4.   

    囧,split是分割字符,scanner是输入。。
      

  5.   

    没看过 
    Scannerpublic Scanner(String source)    Constructs a new Scanner that produces values scanned from the specified string.    Parameters:
            source - A string to scan
      

  6.   

    很多人明显没看过Scanner的javadoc。
    里面有一个处理String例子:
         String input = "1 fish 2 fish red fish blue fish";
         Scanner s = new Scanner(input);
         s.findInLine("(\\d+) fish (\\d+) fish (\\w+) fish (\\w+)");
         MatchResult result = s.match();
         for (int i=1; i<=result.groupCount(); i++)
             System.out.println(result.group(i));
         s.close(); 
      

  7.   

    Scanner精细,精细在什么了??
      

  8.   

    Scanner 一般用在什么地方啊?好像一直都没有怎么用过
      

  9.   

    只是各有用途就行了吗,都是jdk提供的工具,何必弄的那么细呢,用着就用呗。
      

  10.   

    Scanner是String类里面的方法吗?Scanner不是java.util包下面的一个类吗?
      

  11.   

    Scanner是一个类:一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。
    split是String类里方法,有两个,具体请参考Java API。
      

  12.   

    我觉得吧,国人的学习思路都是,实现一样的功能,肯定有区别,大家就深究啊深究
    Scanner和Split的确都可以处理字符串,但本质就不一样啊,一个类一个方法,不言而喻。
    我觉得外国人的思路就是,Scanner就是将源做个包装,不管你是屏幕输入还是文件,还是别的啥玩意,当然也包括String,统统给你包装成Scanner这么个类型,然后提供一大堆方法让你慢慢处理字符串,相当明了。而split就是非常简单的字符分割,非常单纯的字符串处理的一个方法。
    说两者没关系是假的,但完全没必要区分它们在字符串处理上的关系,这就是误入歧途。
    简单来说,怎么用着顺手怎么用,完全不会出现不知道用哪个的情况。
    借用楼上的例子,如果要分析文件中的字符串,当然用Scanner,就不用你再用FileRead读入之类的前期处理了,直接Scanner(File)解决,简单明了。
    如果是要分割字符串,想都不要想,直接split,用Scanner(String)包装一下看着都累。
    以上纯属个人观点。