공부/Java 복습

Java 정규 표현식을 이용한 올바른 이메일 형식 찾기와 중복 제거

ChoiDooSic 2021. 8. 19. 15:26

[조건]

다음 문자열에서 올바른 형식의 이메일만 적절한 컬렉션에 저장해 보세요
(올바른 이메일이 총 몇 개인지 세어보세요
중복되는 이메일은 무엇인지 찾아보세요.

약 900개가량 되는 이메일 정보가 들어있습니다.

email이 pattern1의 형식에 일치하는 값과 중복되는 이메일 값을 담기 위해

ArrayList <String> emails와 overlep(중복)을 생성하여줍니다

 

1. Pattern.compile()에 내가 찾아야 할 형식을 Matcher에 넣어 준다.

 

2. find() 패턴이 일치하는 경우 true를 반환하고 그 위치로 이동 일치하는 게 없을 경우 false반환, 
while문에 find를 조건식으로 줘서 일치하는게 없을 때까지 반복한다.

 

3. group()을 이용하여 매칭 된 부분을 반환

 

4. 지정한 형식에 맞아 반환된 값을 emails에 담아준다

 

5. Collections.sort를 통하여 정렬해준다

 

6. 정렬된 emails의 값을 현재의 것과 다음 것의 값이 같은지 비교하여 중복되는지 체크하고

(get(0)과 get(1) 번이 중복인지 비교하는 걸 반복)
반복문에 조건식에서 size()-1을 해주는 이유는 100번까지 있다면 99번과 100번이 중복되는지 까지 조회해야 하고
만약 -1을 해주지 않아 값은 100개만 들어있는데 101번을 조회하면 IndexOutOfBoundsException가 일어나기 때문이다

 

'공부 > Java 복습' 카테고리의 다른 글

Java 학생 만들기  (0) 2021.09.09
자바 학생 등급 출력하기 if문과 삼항연산자 이용 2가지 방법  (0) 2021.08.25
Java 차량 5부제  (0) 2021.08.16
Java 소수 구하기  (0) 2021.08.14
Java 달력 만들기  (0) 2021.08.13