[자바]/자바 문법

[Java] String 클래스의 메서드 replace 와 replaceall 메서드 차이

쿠릉쿠릉 쾅쾅 2021. 11. 1. 07:47
728x90

 

 

 

 

String replace(CharSequence old, CharSequence old)

  • replace(찾을문자열, 바꿀문자열)
class prac{
    public static void main(String[] args){
        String str = "I have a pen. I have an apple.";
        str = str.replace("I", "You"); 
        System.out.println(str);  // You have a pen. You have an apple.
    }
}

 

 

 

 

String replaceAll(String regex, String replacement)

  • replaceAll(정규식 또는 기존문자, 대체문자)
class prac{
    public static void main(String[] args){
        String str = "자동차 가격은 300,000,000원 입니다.";
        
        // 정규식 사용
        String str1 = str.replaceAll("[0-9]", "A");
        System.out.println(str1);  // 자동차 가격은 AAA,AAA,AAA원 입니다.
        
        // 문자열 사용
        String str2 = str.replaceAll("자동차", "Car");
        System.out.println(str2);  // Car 가격은 300,000,000원 입니다.
        
    }
}

 

 

 

괄호[] 를 통해 특수문자 인식 방법

class prac{
    public static void main(String[] args){
    	
    	// [] 를 이용하여 특수문자 인식 
    	String str = "안녕? * + $ &";
    	System.out.println(str.replaceAll("[*]", "하"));  // 안녕? 하 + $ &
    	System.out.println(str.replaceAll("[+]", "하"));  // 안녕? * 하 $ &
    	System.out.println(str.replaceAll("[$]", "하"));  // 안녕? * + 하 &
    	System.out.println(str.replaceAll("[&]", "하"));  // 안녕? * + $ 하
        
    }
}
  •   [특수문자]  를 이용해서 특수문자를 인식함

 

 

\\를 통해 특수문자 인식 방법

class prac{
    public static void main(String[] args){
    	
//      \\ 를 이용하여 특수문자 인식 
    	String str = "이것은 컴퓨터 (computer) ";
    	System.out.println(str.replaceAll("\\(", "◆"));  // 이것은 컴퓨터 ◆computer) 
        
        /*
        \\ 를 붙여줘야하는 특수 문자
        (    →  \\(
        )    →  \\)
        {    →  \\{
        }    →  \\
        ^    →  \\^
        [    →  \\[
        ]    →  \\]
        */
        
    }
}
  • \\특수문자  를 이용해서 특수문자 인식함

 

 

 

replace  와 replaceAll의 차이

class prac{
    public static void main(String[] args){
    	String str = "안녕하세요. 반가워요. 또 놀러오세요.";
    	
    	// replace
    	String str1 = str.replace(".", "^^");
    	System.out.println(str1);  // 안녕하세요^^ 반가워요^^ 또 놀러오세요^^

    	// replaceAll
    	String str2 = str.replaceAll(".", "^^");
    	System.out.println(str2);  // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        
    }
}
  • replace() 메서드는 첫 번째 매개변수인 "." 을 문자로 인식
  • replaceAll() 메서드는  첫 번째 매개변수인 "." 을 정규식으로 인식
  • 참고로 정규식에서 .(점)은 모든 문자를 의미
728x90