Friday, June 04, 2004

 

讀檔剖析文字新利器:Scanner

其實是從下面這篇文章看到的:
Programming with the New Language Features in J2SE 1.5
覺得實在是蠻好用的
所以跟大家簡單介紹一下~

java.util.Scanner是Java1.5新加入的文字處理類別
它可以把讀入的字串轉成各種 primitive type 像是 int, long....等
也可以用 regular expression 來剖析讀入的字串

API中有下列的範例:

  1. 從 console 讀入文字,並轉成 int (預設是以空白為分隔單位)
  2. Scanner sc = new Scanner(System.in);
    int i = sc.nextInt();
    
  3. 從檔案讀出 long
  4. Scanner sc = new Scanner(new File("myNumbers"));
    while (sc.hasNextLong()) {
       long aLong = sc.nextLong();
    }
    
  5. 使用其他的分隔單位(delimiter)
  6. String input = "1 fish 2 fish red fish blue fish";
    Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
    System.out.println(s.nextInt());
    System.out.println(s.nextInt());
    System.out.println(s.next());
    System.out.println(s.next());
    s.close();
    
    輸出:
    1
    2
    red
    blue
    
  7. 或是使用 regular expression 剖析
  8. 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();
    

其他我看到蠻有用的方法還有:

大家研究看看吧~ ^^"

由 swanky 發表於 June 4, 2004 12:27 AM

Comments: Post a Comment



<< Home