Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

개발기록

[Java] 문자열 특정 패턴 추출/제거 본문

JAVA

[Java] 문자열 특정 패턴 추출/제거

옥수수수염챠 2020. 3. 24. 20:17

프로그래밍을 하는데 있어서 문자열을 다양하게 처리할 때가 있는데, 특정 문자열만 남기거나 제거할 수 있도록 정규표현식을 통해 사용하는 방법을 알아보도록 한다.

 

1) 숫자

숫자만 제거 / 숫자제외 나머지 항목 제거

String str = "Hi, I am 20 years old.";

str.replace("[0-9]", ""); // Hi, I am  years old.
str.replace("[^0-9]", ""); // 20

/*
 * 위 코드 수행결과를 보면 알 수 있듯이 숫자는 [0-9]로 표현하며,
 * ^는 !(not)과 동일한 양상을 띄운다.
 */

2) 영어

대문자 제거

String str = "I Live In South Korea.";

str.replaceAll("[A-Z]", ""); // ive n outh orea.

소문자 제거

String str = "I Live In South Korea.";

str.replaceAll("[a-z]", ""); //I L I S K.

대소문자 모두 제거

String str = "Do not speak English.";
str.replaceAll("[a-zA-Z]", ""); // .
str.replaceAll("[A-z]", ""); // .
str.replaceAll("[a-Z]", ""); // PatternSyntaxException 에러 발생, 
			    // []괄호 안에는 index가 작은순서 -> 큰 순서로 가야 하는데
                           // a의 index(ascii코드)가 Z의 index보다 커서 생기는 오류

3) 한글

자음 제거

String str = "고구마엔 ㄱ이 많네";

str.replaceAll("[ㄱ-ㅎ()]", ""); // 고구마엔 이 많네
str.replaceAll("[ㅎㄷㄱ)(]", ""); // 고구마엔 이 많네

//범위 지정하는것이 아니라 나열식일때는 자음 순서와 관계없다.

모음 제거

String str = "이제 퇴근하고 집에 가볼까ㅏㅏㅏ?";

str.replaceAll("[ㅏ-ㅣ]", ""); //이제 퇴근하고 집에 가볼까?: 

자모음 모두 제거

String str = "ㅈㅈ집에 좀 가즈아ㅏㅏ";

str.replaceAll("[ㅈㅏ]", ""); // 집에 좀 가즈아
str.replaceAll("[ㄱ-ㅣ]",""); // 집에 좀 가즈아
str.replaceAll("[ㅣ-ㄱ]",""); // 마찬가지로 java.util.regex.PatternSyntaxException 에러 발생

한글 제거

String str = "ㄱㄴㄷㄹㅏㅑㅓㅕ가냐더려";

str.replaceAll("[가-힣]", ""); // ㄱㄴㄷㄹㅏㅑㅓㅕ
str.replaceAll("[ㄱ-ㅎ가-힣]", ""); // ㅏㅑㅓㅕ
str.replaceAll("[ㅏ-힣]", ""); // ㄱㄴㄷㄹ
str.replaceAll("[ㄱ-힣]", ""); // 모두 제거

 

'JAVA' 카테고리의 다른 글

[Spring Framework] Bean  (0) 2020.07.15
[JDBC] Persistance Framework 관련  (0) 2020.07.09
Webjar  (0) 2020.07.09
@Controller와 @RestController의 차이  (0) 2020.07.09
[Java] 문자열->정수 형변환  (0) 2020.03.24