이전 섹션에서는 첫 번째 방법인 기본 구분 기호를 사용하여 문자열을 구문 분석하는 방법을 배웠습니다. 이 섹션에서는 두 번째 방법인 정규 표현식을 구분 기호로 사용하여 문자열을 구문 분석하는 방법을 알아봅니다.
Scanner 객체가 문자열의 데이터를 구문 분석하기 위해 공백인 기본 분리 표시를 사용하려는 경우 문자열의 데이터를 다른 문자와 구분하기 위해 공백을 사용해야 한다는 점을 알아야 합니다. 필요한 데이터를 구문 분석할 수 없습니다.
실제로 Scanner 개체는 메서드를 호출할 수도 있습니다.
useDelimiter(정규표현식);
정규식을 구분 기호로 사용합니다. 즉, Scanner 개체가 문자열을 구문 분석할 때 정규식과 일치하는 문자열을 구분 기호로 사용합니다.
예를 들어 정규식(숫자가 아닌 모든 문자열과 일치)을 사용하여 문자열을 구문 분석합니다. String regex = [^0123456789.]+를 구분 기호로 사용합니다.
importjava.util.*;publicclassMain{publicstaticvoidmain(Stringargs[]){Stringcost=전화 요금 목록: 시내 통화 요금 66.66위안, 장거리 통화 요금 166.66위안, 문자 메시지 요금 16.16위안;Scannerscanner=newScanner(비용);스캐너. useDelimiter([^0123456789. ]+);//scanner는 구분 표시를 설정합니다. doublesum=0;while(scanner.hasNext()){try{doubleprice=scanner.nextDouble();sum=sum+price;System.out. println(price);}catch(InputMismatchExceptionexp){Stringt=scanner.next();}}System.out.println(총 통신 비용: +sum+yuan);}}
실행 결과는 다음과 같습니다.
66.66166.6616.16 총 통신비: 249.48 위안