관리 메뉴

드럼치는 프로그래머

[JAVA] 문자열 치환, 문자 바꾸기, 모두 바꾸기; String Replace All 본문

★─Programing/☆─JAVA

[JAVA] 문자열 치환, 문자 바꾸기, 모두 바꾸기; String Replace All

드럼치는한동이 2013. 5. 9. 14:28

C언어와는 달리, 자바에서의 문자열 바꾸기 Substitution 는 아주 쉽습니다.

여기서 소개하는 자바의 문자열 치환 메소드(함수)들은, "Search and Replace" 또는 "Find and Replace" 개념입니다. 텍스트에디터의 문자열 바꾸기처럼, 지정한 문자열을 기존의 문자열 속에서 자동으로 찾아서 바꿉니다. 대부분의 경우에는 이것을 사용하면 됩니다.

문자열 치환(Replace) 예제

파일명: Foo.java

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

        String s = "봉숭아 학당! 봉숭아 학당!"; // 원본 문자열
        String s2;

        System.out.println("원본: " + s);
        System.out.println(); // 줄바꿈

        // (1)
        s2 = s.replace("숭아", "맹구");
        System.out.println("치환(1): " + s2); // 출력 결과: 봉맹구 학당! 봉맹구 학당!

        // (2)
        s2 = s.replaceFirst("숭아", "맹구");
        System.out.println("치환(2): " + s2); // 출력 결과: 봉맹구 학당! 봉숭아 학당!

        // (3)
        s2 = s.replaceAll("숭아", "맹구");
        System.out.println("치환(3): " + s2); // 출력 결과: 봉맹구 학당! 봉맹구 학당!

    }
}

public String replace(CharSequence target, CharSequence replacement)
이것은 일치되는 모든 문자열을 바꿉니다. 원본 문자열에 "숭아"가 2개 있는데 모두 "맹구"로 치환되었습니다. (CharSequence 가 아닌 String 도 사용 가능합니다.)

public String replaceFirst(String regex, String replacement)
이것은 첫번째로 일치되는 문자열만 바꿉니다. 첫 번째 "숭아"만 "맹구"로 치환되었습니다. 문자열 대신에, 정규식(regex)을 지정할 수도 있습니다.

public String replaceAll(String regex, String replacement)
맨 처음의 replace() 와 같이, 일치되는 모든 문자열을 바꿉니다. replace()와 다른 점은, 정규식/정규표현식(Regular Expressions; Regex)을 사용할 수 있다는 것입니다.

 

[출처] http://mwultong.blogspot.com/2006/10/java-string-replace-all.html

Comments