2011-03-07 39 views
1

似乎無法弄清楚如何將令牌(StringTokenizer)轉換爲字符串。Java如何將令牌轉換爲字符串?

我有一個String []的關鍵字,我從文本文件中讀取多行文本。 StringTokenizer用於將句子切分,此時需要將每個令牌(令牌的字符串表示形式)傳遞給函數進行單詞分析。

是否有一種簡單的方法從令牌中提取字符串值?

任何幫助讚賞球員....

偉大的幫助球員再次感謝!

+0

我不明白,你的標記已經是字符串arent'他們? – reef 2011-03-07 16:36:11

回答

2

使用方法nextToken()返回該標記作爲字符串

StringTokenizer st = new StringTokenizer("this is a test"); 
     while (st.hasMoreTokens()) { 
      wordAnalysis(st.nextToken());//sends string to your function 
     } 
+0

在上面的while循環中,我調用了一個期望String的函數。如何將令牌轉換爲字符串,你知道嗎? – 2011-03-07 16:36:51

+0

nextToken方法返回一個字符串:請參閱http://download.oracle.com/javase/1.5.0/docs/api/java/util/StringTokenizer.html#nextToken()。 – reef 2011-03-07 16:37:51

+0

@ DJDonaL3000查看編輯 – Shawn 2011-03-07 16:41:10

1

nextToken()叫上一個StringTokenizer的,已經返回String。您不需要將String轉換爲String

令牌只是較大字符串的一個小字符串部分。令牌用於各種形式的處理,並且需要一個單詞(單詞令牌)來區分項目類別與特定項目。

For example, every word, period, and comma in this string is a token. 

本身會借給以下令牌(所有這些都是字符串):現在

For 
example 
, 
every 
word 
, 
period 
, 
and 
comma 
in 
this 
string 
is 
a 
token 
. 
1
for(int i = 0; i<stringArray.length; i++) { 
    StringTokenizer st = new StringTokenizer(stringArray[i]); 
    while(st.hasMoreTokens()) { 
     callMyProcessingMethod(st.nextToken()); 
    } 
} 
1

的StringTokenizer是Java中的遺留類。從Java 1.4開始,建議在String上使用split()方法,該方法返回一個String []。

http://download.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#split(java.lang.String

+0

奇怪的是,API中沒有任何內容表明它已被棄用(或遺留)。也分裂不會做同樣的事情。令牌邊界很容易通過「下一個字符」序列來識別,而REGEX需要完整的匹配模式。 – 2011-03-07 16:45:30

+0

對不起,它實際上是StringTokenizer的API文檔,提到它已被棄用。 http://download.oracle.com/javase/6/docs/api/java/util/StringTokenizer.html – 2011-03-07 16:57:39