패턴으로 컴파일하여 정규식을 구성하여 Fortran Real * 8 숫자를 찾습니다. 까다로운 비트는 내가에서 읽고 있어요 파일이 몇 백만 열 .. 단일 라인이 때문이다 나는이 작업을 수행 할 때 :Java.util.Scanner의 다음 (패턴) 메서드로 인한 트러블/혼란
Scanner recordScanner = new Scanner(recordString);
String foundReal = recordScanner.findInLine(real8Regex);
나는를 사용할 때 나는 내가 무엇을 찾고 얻을 수 있지만, 다음 (패턴) 메서드를 사용하면 InputMismatchException이 발생합니다 .. findInLine 및 다음 반환 문자열을 모두 고려하면 이상합니다.
Scanner recordScanner = new Scanner(recordString);
String foundReal = recordScanner.next(real8Regex);
나는 next() 메서드 사용에 중요한 것을 잃어 버렸습니까?
응답 주셔서 감사합니다. hasNext (Pattern)로 시도했을 때 응용 프로그램에서 아무 것도 찾지 못했습니다 ... If if (hasNext (Pattern)) 조건부를 Scanner의 while 루프로 묶습니다.hasNext() (공백 문자 인 내 분리 문자를 기반으로하는 다른 토큰이있는 경우 간단히 true), 코드는 CPU주기를 먹지만 결과를 반환하지 않습니다. – sbook
예, hasNext가 스캐너를 진행하지 않기 때문입니다. 당신이 정말로 달성하기를 원하는 것이 분명하지 않습니다. 일부 샘플 코드가 도움이됩니다. –