본문 바로가기
Language/JAVA

[JAVA] 자바_replace/replaceAll (문자열 치환)

by 썸머워즈 2019. 6. 5.
반응형

- replace() / replaceAll() 사용법 및 차이 -


replace()

- String replace(CharSequence target, CharSequence replacement)

- replace() 함수는 대상 문자열을 원하는 문자 값으로 변환하는 함수이다.

- 첫번째 매개변수변환하고자 하는 대상이 될 문자열

- 두번째 매개변수변환할 문자 값


예제 1) replace() 기본 사용법

public class ReplaceTest{
    public static void main(String[] args){

        String replaceTest = "우리의 리플레이스 테스트";
        System.out.println( replaceTest.replace("리플레이스","replace") );
        //  우리의 replace 테스트
    }
}

replaceAll()

- String replaceAll(String regex, String replacement)

- replaceAll() 함수는 대상 문자열을 원하는 문자 값으로 변환하는 함수이다.

- 첫번째 매개변수변환하고자 하는 대상이 될 문자열

- 두번째 매개변수변환할 문자 값


예제 2) replaceAll() 기본 사용법

public class ReplaceAllTest{
    public static void main(String[] args){

        String replaceAllTest = "우리의 리플레이스의 리플레이스테스트";
        System.out.println( replaceAllTest.replaceAll("리플레이스","replaceAll") );
        //  우리의 replaceAll의 replaceAll테스트
    }
}

replace() vs repalceAll()

이쯤 되면 이제 replace()와 replaceAll()차이점이 뭘까 하는 생각을 가질 수 있는데

인자 값의 형태를 보면 CharSequenceString 이라는 차이점을 볼 수 있습니다.

그리고 replaceAll()의 설명을 보면 regex 라 나와있는데 아시다시피 이것은 "정규 표현식"을 의미하죠

 

개발을 할 때 역시 정규표현식을 이용하여 많이들 개발을 하는데 replaceAll()은 정규표현식 사용이 가능합니다.


예제 3) replace() vs replaceAll() 

public class AllTest{
    public static void main(String[] args){
    
        String allTest = "aaabbbvccacfgdracabtghd";
        System.out.println( allTest.replace("ab","0") );
        //  aa0bbvccacfgdrac0tghd

        System.out.println( allTest.replaceAll("[ab]","0") );
        //  000000vcc0cfgdr0c00tghd
    }
}

 

trim()으로 지울 수 없는 글자 사이사이 공백을 제거할 때 replace 함수를 사용하기도 합니다.


replaceFirst()

추가적으로 이게 있는데 사용법은 위와 전부 같으나

First라는 것을 보고 알 수 있듯이 처음 나오는 단어를 찾아서 바꿔주는 함수이다.


예제 4) replaceFirst() 기본 사용법

String replaceFirstTest = "우리의 리플레이스의 리플레이스테스트";

System.out.println( replaceFirstTest.replaceFirst("리플레이스","replaceFirst") );
//  우리의 replaceFirst의 리플레이스테스트
반응형


댓글

TOP