我解析包含一些文本的文本文件匹配,如下圖所示:Scanner.hasNext字符串在Java中
Level1
Some-text-here
Level2
Some-text-here
Level3
Some-text-here
我已經實現了它分析文件,並試圖計數的出現次數的代碼文件中的「級別」。這是我正在做它:
Scanner scanner = new Scanner(new File(inPath));
Pattern p = Pattern.compile("Level");
while(scanner.hasNext()) {
if(scanner.hasNext(p)) {
++lastLevelCreatedWas;
}
scanner.next();
}
然而,「如果」條件從來沒有被擊中,因爲hasNext(P)正在試圖尋找「級別」的精確匹配,並會忽略這個詞「1級」, 「Level2」等。我該如何讓它考慮任何包含關鍵字「Level」的單詞?
是的,做到了。如果我想通過匹配一個字符串來完成該怎麼辦?我會使用像Patter.compile(「Level」,Pattern.COMMENTS)? – Rafay 2012-07-06 18:45:00
如果你想要消費級別的數字,你想要使用'scanner.useDelimiter(「Level \\ d +」);',意思是'「Level」'後跟1-n數字 – Bohemian 2012-07-06 18:47:10