본문 바로가기
Back-end/JAVA & Spring

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

by 꼬바리 2021. 6. 3.

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함수는 .을 /로 정상적으로 바꾸어주었지만

 

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

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

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

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

ReplaceFirst

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

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

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

 

 

출처 : https://coding-factory.tistory.com/128

728x90
반응형

댓글