Java의 Scanner 클래스는 useDelimiter 메소드를 제공하여 구분 기호(문자 또는 패턴)를 지정할 수 있습니다. 토큰. 그러나 구분 기호를 사용하는 것은 초보자에게 혼란스러울 수 있습니다. 더 간단한 용어로 분석해 보겠습니다.
코드 조각을 고려하세요.
sc = new Scanner(new File(dataFile)); sc.useDelimiter(",|\r\n");
이 예에서 구분 기호는 쉼표(",")와 캐리지 리턴 뒤에 줄 바꿈("\)을 조합하여 정의됩니다. r\n"). 스캐너는 이 구분 기호를 사용하여 데이터 파일에서 토큰을 구분합니다.
useDelimiter에 지정하는 구분 기호는 정규 표현식입니다. 정규식은 문자나 시퀀스를 일치시키는 데 사용되는 패턴입니다. 구분 기호 ",|\r\n"은 토큰이 쉼표로 끝나거나 캐리지 리턴 뒤에 개행 문자가 오는 것을 지정합니다.
예를 들어 보겠습니다.
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();
이 예에서 구분 기호는 "\sfish\s"입니다. \\s*는 "fish"라는 단어 앞이나 뒤에 공백(0 포함)이 얼마든지 있을 수 있음을 나타냅니다. 이는 스캐너가 "물고기 1마리", "물고기 2마리" 등과 같은 토큰을 일치시키고 추출한다는 것을 의미합니다.
Java에서 useDelimiter를 사용할 때 일반적인 규칙을 이해하는 것이 중요합니다. 표현. 정규식 패턴에 대한 지식을 향상시키기 위해 온라인에서 자세한 튜토리얼을 찾을 수 있습니다. 구분 기호와 정규식을 제대로 이해하면 Scanner 클래스를 사용하여 텍스트 파일에서 데이터를 효율적으로 구문 분석하고 추출할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3