Java의 Scanner 클래스는 useDelimiter 메소드를 제공하여 구분 기호(문자 또는 패턴)를 지정할 수 있습니다. 토큰. 그러나 구분 기호를 사용하는 것은 초보자에게 혼란스러울 수 있습니다. 더 간단한 용어로 분석해 보겠습니다.
스니펫을 고려하세요.
sc = new Scanner(new File(dataFile)); sc.useDelimiter(",|\r\n");
이 예에서 구분 기호는 쉼표(",")와 캐리지 리턴의 조합으로 정의됩니다. 그 뒤에 개행 문자("rn")가 옵니다. 스캐너는 이 구분 기호를 사용하여 데이터 파일에서 토큰을 구분합니다.
useDelimiter에 지정하는 구분 기호는 정규 표현식입니다. 정규식은 문자나 시퀀스를 일치시키는 데 사용되는 패턴입니다. 구분 기호 ",|rn"은 토큰이 쉼표로 끝나거나 캐리지 리턴 뒤에 개행 문자가 오는 것을 지정합니다.
예를 들어 보겠습니다.
String input = "1 fish 2 fish red fish blue fish"; Scanner s = new Scanner(input).useDelimiter("\s*fish\s*"); System.out.println(s.nextInt()); // prints: 1 System.out.println(s.nextInt()); // prints: 2 System.out.println(s.next()); // prints: red System.out.println(s.next()); // prints: blue s.close();
이 예에서 구분 기호는 "sfishs"입니다. \s*는 "fish"라는 단어 앞이나 뒤에 공백(0 포함)이 얼마든지 있을 수 있음을 나타냅니다. 이는 스캐너가 "물고기 1마리", "물고기 2마리" 등과 같은 토큰을 일치시키고 추출한다는 것을 의미합니다.
Java에서 useDelimiter를 사용할 때 일반적인 규칙을 이해하는 것이 중요하다는 점을 기억하십시오. 표현. 정규식 패턴에 대한 지식을 향상시키기 위해 온라인에서 자세한 튜토리얼을 찾을 수 있습니다. 구분 기호와 정규식을 제대로 이해하면 Scanner 클래스를 사용하여 텍스트 파일에서 데이터를 효율적으로 구문 분석하고 추출할 수 있습니다.
위 내용은 Java의 Scanner.useDelimiter()는 정규 표현식과 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!