1
'\'를 사용하여 명령을 여러 줄로 확장 할 수있는 명령을 캡처하려고합니다. 따라서, 수 구분 기호가 될 수 있습니다 물론Java 스캐너 다음 구분 기호 가져 오기
Pattern assignment = Pattern.compile("[^\\\\]\\n");
, 이것은 '\ n을'전에 마지막 비 '\'문자를 잘라내는 문제가있다. 다음 문자를 시도하여 해당 문자를 복구하려고했습니다 :
스캐너의 입력 내용은 다음과 같은 형식입니다 : T1 D1 T2 D2 T3 D3 .... 여기서 T # 및 D #는 토큰에 해당하며 구분 기호 번호 ' # '은 각각, 나는이 일 것이라고 생각 :
Pattern p = Pattern.compile("\\\\?\\s+");
String residue = file.findInLine(assignment);
String curToken = file.next().trim();
if(residue == null)
residue = "";
else
residue = residue.trim();
Scanner tokens = new Scanner(curToken + residue).useDelimiter(p);
을 대신 스캐너의 구분 기호를 무시하도록되어 T1과 D1, findInLine의 연결을 얻는 패턴이 구분 기호와 같은 경우, null를 돌려줍니다! 아무도이 이상한 행동을 설명 할 수 있습니까?