[Java] 문자열 치환(Replace) 사용법 & 예제

String변수나 배열 같은 곳에 많은 양의 데이터들이 들어가 있을 경우 자신이 바꾸고자 하는 값만 골라서 바꾸기란 쉽지 않습니다. 이럴 때 유용하게 쓰일 수 있는 함수가 바로 Replace함수입니다. 이번 포스팅에서는 문자열 치환 함수 Replace, ReplaceAll, ReplaceFirst 함수의 사용법에 대해서 알아보겠습니다.

 

Replace

String a = "무궁화 삼천리 화려강산 대한사람 대한으로 길이 보전하세 ";	
//replace([기존문자],[바꿀문자])
a= a.replace("대한", "민국");	
System.out.println(a);

//결과값 : 무궁화 삼천리 화려강산 민국사람 민국으로 길이 보전하세

String replace(CharSequnce target, CharSequence replacement)

Replace 함수는 자신이 바꾸고싶은 문자로 문자열을 치환시켜주는 기능을 합니다.

 

ReplaceALL

String a = "무궁화 삼천리 화려강산 대한사람 대한으로 길이 보전하세 ";	
//replaceAll([정규식],[바꿀문자])
a= a.replaceAll("대한", "민국");
System.out.println(a);

//결과값 : 무궁화 삼천리 화려강산 민국사람 민국으로 길이 보전하세

ReplaceAll 함수는 자신이 바꾸고싶은 문자로 문자열을 전부 치환시켜주는 기능을 합니다. 여기서 많은 분들은 Replace와 ReplaceAll과의 같은 것이 아니냐고 반문을 할 수도 있을 듯합니다. 실제로 나오는 결과물의 값이 같습니다. 하지만 차이점은 분명 있습니다. Replace는 첫 번째 값으로 바꿀 문자열을 입력받는 대신 첫 번째 인자 값으로 정규식이 들어갑니다. 그래서 Replace는 특수문자로도 치환이 되는데 반하여 ReplaceAll은 특수문자로 치환이 어렵습니다.

 

Replace와 ReplaceALL의 차이점

String a = "무궁화. 삼천리. 화려강산. 대한사람. 대한으로. 길이. 보전하세 ";
//replace([기존문자],[바꿀문자])
a = a.replace(".", "/");
System.out.println(a);

//결과값 : 무궁화/ 삼천리/ 화려강산/ 대한사람/ 대한으로/ 길이/ 보전하세

. 을 /로 치환할 경우 replace함수는. 을 /로 정상적으로 바꾸어주었지만

SString a = "무궁화. 삼천리. 화려강산. 대한사람. 대한으로. 길이. 보전하세 ";
//replaceAll([정규식],[바꿀문자])
a = a.replaceAll(".", "/");
System.out.println(a);

//결과값 : /////////////////////////////////////

replaceAll 같은 경우 문자열 전체가 치환되는 것을 확인할 수 있습니다.

.(마침표)가 정규식으로 모든 문자를 의미하기 때문에 나타난 현상입니다.

 

ReplaceFirst

String a = "무궁화 삼천리 화려강산 대한사람 대한으로 길이 보전하세 ";
//replaceFirst([기존문자],[바꿀문자])
a= a.replaceFirst("대한", "민국");
System.out.println(a);

//결과값 : 무궁화 삼천리 화려강산 민국사람 대한으로 길이 보전하세

ReplaceFirst 함수는 자신이 바꾸고 싶은 문자열이 처음으로 해당할 때만 치환시켜주는 기능을 합니다.

 

[Java] 문자열 자르기(Substring, Split) 사용법 & 예제

[Java] 문자열 붙이기(Concat, StringBuffer(Append)) 사용법 & 예제

[Java] 문자열 공백 제거(Trim) 사용법 & 예제

[Java] 형 변환 Casting(문자형, 정수형, 실수형)

[Java] Split함수 \n 개행 단위로 문자열 자르기

 

댓글

Designed by JB FACTORY