> Java > java지도 시간 > Java의 Scanner.useDelimiter()는 정규 표현식과 어떻게 작동합니까?

Java의 Scanner.useDelimiter()는 정규 표현식과 어떻게 작동합니까?

Linda Hamilton
풀어 주다: 2024-11-23 07:38:08
원래의
284명이 탐색했습니다.

How Does Java's Scanner.useDelimiter() Work with Regular Expressions?

Java의 Scanner.useDelimiter를 사용한 구분 기호 이해

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿