我已經構建了一個正則表達式,我編譯爲模式來查找Fortran Real * 8數字。棘手的一點是,我從閱讀該文件是用幾百萬列..單行 當我這樣做:麻煩/被Java.util.Scanner的下一個(模式)方法困惑
Scanner recordScanner = new Scanner(recordString);
String foundReal = recordScanner.findInLine(real8Regex);
我得到了我要找的,但是當我使用next(Pattern)方法,我得到一個InputMismatchException ..奇怪,考慮到findInLine和下一個返回字符串。
Scanner recordScanner = new Scanner(recordString);
String foundReal = recordScanner.next(real8Regex);
我在使用next()方法時缺少一些至關重要的東西嗎?
感謝您的迴應,當我嘗試使用hasNext(模式)時,應用程序找不到任何東西... 如果我將if(hasNext(Pattern))條件包含在Scanner的while循環中。hasNext()(如果有另一個基於我的分隔符的記號(它是空格),則該代碼只是吃CPU週期,但從不返回結果。 – sbook 2009-08-16 21:15:22
是的,因爲hasNext不會推進掃描儀。我不清楚你真正想要達到什麼。一些示例代碼會有所幫助。 – 2009-08-16 22:22:13