2012-04-06 126 views
-3

我目前使用StringTokennizer類拆分的分隔符java String ...!

public class App { 
     public static void main(String[] args) { 

      String str = "This is String , split by StringTokenizer, created by saral"; 
      StringTokenizer st = new StringTokenizer(str); 


      System.out.println("---- Split by comma ',' ------"); 
      StringTokenizer st2 = new StringTokenizer(str, ","); 

      while (st2.hasMoreElements()) { 
       System.out.println(st2.nextElement()); 
      } 
     } 
    } 

定義的字符串成不同tokenas請告訴我比較另類的方式來實現這一目標的JDK 5支持掃描儀和java .util,正則表達式....! !請指教..!!

+0

請用一段時間來結束一個句子。 – 2012-04-06 16:22:56

回答

2

你可以使用java.lang.String.split()方法:

String str = ...; 
String[] tokens = str.split(","); 

for (String s: tokens) 
{ 
    System.out.println(s); 
} 
+0

我也可以使用掃描儀...來實現同樣的事情..! – dghtr 2012-04-06 16:16:52

+0

@SARAL'Scanner'對於讀取字符流很有用,'split()'用於分割它。它們相輔相成。 – 2012-04-06 23:36:34

0

你可以只使用String.split

String str = "This is String , split by StringTokenizer, created by saral"; 
String[] arr = str.split(","); 

現在,arr將含有各逗號分隔的str部分的陣列。

+0

我也可以使用Scanner類,以達到同樣的目的... !!我正在嘗試....公共類App1 { public static void main(String [] args) Scanner scanner = new Scanner(「This is String,split by StringTokenizer,saral創建」)。 「,」); while(scanner.hasNextLine()); System.out.println(scanner.nextLine()); } }我想這些,但沒有得到結果.. !!請指教..! – dghtr 2012-04-06 16:17:35

0

StringTokenizerdeprecated出於所有實際目的,它只是爲了向後兼容。使用方法split()代替,就像這樣:

String[] splitted = str.split(","); 

現在返回String[]將包含令牌。

+0

我正在尋找java正則表達式或新的東西,我想避免字符串拆分方法和標記器從正則表達式新東西.. !! – dghtr 2012-04-06 16:20:09

+0

@SARAL在鏈接中閱讀'split()'的文檔,它接收一個正則表達式作爲參數!在這個簡單的例子中,''是一個正則表達式,但它可以像你想的那樣複雜 – 2012-04-06 16:31:30