특정 문자열 사이의 문자열 치환하기(with java 정규식) 본문

프로그램/JAVA

특정 문자열 사이의 문자열 치환하기(with java 정규식)

반응형

자바의 정규식을 이용하여 문자열을 찾거나 치환 또는 제거 등을 손쉽게 처리가 가능하다.

 

정규식 표현(Regular Expression)이란?

표현식 설명
^ 문자열 시작
$ 문자열 종료
. 임의의 문자 [단 ‘'는 넣을 수 없습니다.]
* 앞 문자가 0개 이상의 개수가 존재할 수 있습니다.
+ 앞 문자가 1개 이상의 개수가 존재할 수 있습니다.
? 앞 문자가 없거나 하나 있을 수 있습니다.
[] 문자의 집합이나 범위를 표현합니다. -기호를 통해 범위를 나타낼 수 있습니다.
^가 존재하면 not을 나타냅니다.
{} 횟수 또는 범위를 나타냅니다.
() 괄호안의 문자를 하나의 문자로 인식합니다.
| 패턴을 OR 연산을 수행할 때 사용합니다.
\s 공백 문자
\S 공백 문자가 아닌 나머지 문자
\w 알파벳이나 문자
\W 알파벳이나 숫자를 제외한 문자
\d [0-9] 숫자
\D 숫자를 제외한 모든 문자
(?i) 대소문자를 구분하지 않습니다.

이제 진짜 하고 싶은 특정 문자열 사이의 문자열 치환하기

 

아래와 같은 문자열이 있을경우, 특정 문자 사이에 있는 값을 모조리 바꿔야 하는 상황이 발생한다.

 

String sample = "안녕하세요? 고객님께서 주문하신 {상품1}이/가 고객님의 집에 잘 도착하셨는지요? \n

                       만약 {상품2}이/가 도착하지 않았다면 배송 진행상태를 확인바랍니다.";

ㄴㄹ;

위의 정규식을 잘 활용한다면 한번에 해결이 가능하다.

 

코딩예시

sample =​ sample.replaceAll("[{](.*?)[}]", "사과");

결과

"안녕하세요? 고객님께서 주문하신 {사과}이/가 고객님의 집에 잘 도착하셨는지요? \n

                       만약 {사과}이/가 도착하지 않았다면 배송 진행상태를 확인바랍니다."

반응형

프로그램/JAVA Related Articles

MORE

Comments