정규 표현식을 사용한 Scanner.useDelimiter 이해
Java의 Scanner API에서 useDelimiter() 메소드를 사용하면 구분 기호를 지정하여 토큰에 텍스트를 입력합니다. 그러나 공백 이외의 구분 기호를 사용할 수 있으므로 정규식(regex) 패턴에 대한 이해가 필요합니다.
useDelimiter()의 정규식 패턴
구분 기호를 사용하려면 useDelimiter()를 사용하려면 정규식 패턴을 제공해야 합니다. 이 패턴은 토큰을 구분해야 하는 문자 또는 시퀀스를 정의합니다.
예를 들어 아래 코드 조각은 구분 기호 "|,|rn"을 사용하여 쉼표(",") 또는 새 줄을 기준으로 입력을 분할합니다. (rn):
sc = new Scanner(new File(dataFile)); sc.useDelimiter(",|\r\n");
이는 스캐너가 쉼표와 새 줄을 구분 기호로 처리하여 입력을 토큰.
예
useDelimiter()가 정규식 패턴과 어떻게 작동하는지 설명하려면 다음 예를 고려하세요.
String input = "1 fish 2 fish red fish blue fish"; // Use "\s*fish\s*" as the delimiter to split the input 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
여기서 구분 기호는 "sfishs"는 공백 문자가 0회 이상 반복되는 것과 일치합니다. ("s*") 뒤에 "fish"라는 단어가 오고 다시 공백이 0회 이상 반복됩니다. 결과적으로 입력은 구분 기호를 기준으로 토큰으로 분할되며 스캐너는 원하는 값을 추출할 수 있습니다.
추가 리소스
useDelimiter( ) 및 정규식 패턴에 대해서는 다음 리소스를 참조하세요.
위 내용은 Java의 `Scanner.useDelimiter()`를 정규 표현식과 함께 사용하여 입력을 분할하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!