[JAVA] .replace() 관련 함수

·2024년 5월 12일

String에서 데이터를 원하는 부분만 바꾸고자 할 때 사용한다.

1. .replace(char old, char new)

: 문자열에서 특정 문자 또는 문자열을 다른 문자 또는 문자열로 바꾼다.

String str = "자바 함수 관련 포스팅. 자바 아자아자";
str = str.replace("자바", "C");

System.out.println(str);
// 출력 : C 함수 관련 포스팅. C 아자아자

2. .replaceAll(String regex, String replacement)

: 문자열에서 정규 표현식과 일치하는 모든 부분을 다른 문자열로 바꾼다.

String str = "자바 함수 관련 포스팅. 자바 아자아자";
str = str.replaceAll("자바", "C");
System.out.println(str);
// 출력 : C 함수 관련 포스팅. C 아자아자


str = str.replaceAll("[자바]", "C");
//                   정규표현식 : [] 하나하나 인식해요
System.out.println(str);
// 출력 : CC 함수 관련 포스팅. CC 아C아C
// 자 또는 바 에 해당하면 교체

(*) 정규 표현식 : 텍스트 내에서 특정한 패턴을 찾거나 매치시키기 위해 사용되는 문자열


3. .replace() ≠ .replaceAll()

: replace()는 문자 또는 문자열만 가능하고 replaceAll()은 정규표현식과 일치하는 부분에 사용한다.

String str = "자바 함수 관련 포스팅. 자바 아자아자.";
str = str.replace(".", "점");
System.out.println(str);
// 출력 : 자바 함수 관련 포스팅점 자바 아자아자점
String str = "자바 함수 관련 포스팅. 자바 아자아자.";
str = str.replaceAll(".", "점");
System.out.println(str);
// 출력 : 점점점점점점점점점점점점점점점점점점점점점점
// .는 정규 표현식에서 "모든 문자"를 의미한다.

4. .replaceFirst(String regex, String replacement)

: 문자열에서 첫 번째로 일치하는 부분을 다른 문자열로 바꾼다.

String str = "자바 함수 관련 포스팅. 자바 아자아자";
str = str.replaceFirst("자바", "C");
System.out.println(str);
// 출력 :C 함수 관련 포스팅. 자바 아자아자

5. 관련 문제

class Solution {
    public String solution(String my_string, String letter) {
        String answer = "";
        for (int i=0; i<my_string.length(); i++) {
            if (letter.charAt(0)!=my_string.charAt(i)) {
                answer += my_string.charAt(i);
            }
        }
        return answer;
    }
}

class Solution {
    public String solution(String my_string) {
        String answer = "";
        answer = my_string.replaceAll("[aeiou]","");
        return answer;
    }
}

import java.util.*;

class Solution {
    public int[] solution(String my_string) {
        my_string = my_string.replaceAll("[a-z]", ""); 
        int[] answer = new int[my_string.length()];
    
        for (int i=0; i<my_string.length(); i++) {
            answer[i] = my_string.charAt(i)-'0';
        }
        Arrays.sort(answer);
    
        return answer;
    }
}


0개의 댓글