查看StreamTokenizer here的演示代碼。當字符串中有/
(似乎只需在StringReader
的字符串之間添加/
)似乎不能正常工作。下面是提到的鏈接代碼,StreamTokenizer劃分運算符的行爲「/」
StreamTokenizer tokenizer = new StreamTokenizer(
new StringReader("Mary had 1 little lamb..."));
while(tokenizer.nextToken() != StreamTokenizer.TT_EOF){
if(tokenizer.ttype == StreamTokenizer.TT_WORD) {
System.out.println(tokenizer.sval);
} else if(tokenizer.ttype == StreamTokenizer.TT_NUMBER) {
System.out.println(tokenizer.nval);
} else if(tokenizer.ttype == StreamTokenizer.TT_EOL) {
System.out.println();
}
}
例如,對於字符串"Mary had 1 little lamb..."
,輸出
Mary
had
1.0
little
lamb...
對於字符串,"Mary had 1 /little lamb..."
,輸出
Mary
had
1.0
- 是否
/
工作作爲EOF令牌?如果是這樣,爲什麼? - 有什麼辦法可以將
/
區分爲除EOF以外的其他標記。
似乎沒給我。你能分享一個代碼片段,你得到的輸出和你期望的輸出嗎? – Mureinik
究竟哪個不行?注意:['StreamTokenizer'](https://docs.oracle.com/javase/8/docs/api/java/io/StreamTokenizer.html)已棄用。 – Maroun
我編輯了這個問題。你現在可以找到更多細節。 – user148865