본문 바로가기
JAVA

자바 특정 문자 & 특수 문자 제거/치환하기 (replace, replaceAll, replaceFirst)함수 사용

by 고체물리학 2021. 6. 16.

문자열을 변환해야 되는 일이 생길 때 사용하는 함수

 

 

1. replace(char oldchar, char newChar)

  =>문자열.replace(바꾸고싶은문자,바꿀문자)

 

예1)

    public static void main(String[] args) {
    	String old = "abcdabcd";
    	String newchar = old.replaceAll("a","z");
    	System.out.print(newchar);
    }

결과) 문자열의 모든 a=>z로 변환돼서 출력

 

예2) 기존 문자에 특수문자 . 을 대체문자에 문자 z를 넣어 출력해본다

    public static void main(String[] args) {
    	String old = "abcd.abcd";
    	String newchar = old.replace(".", "z");
    	System.out.print(newchar);
    }

결과) 특수문자 . 이 문자 z로 변환

 


2. replaceFirst(String regex,String replacement)

 =>문자열.replaceFirst(기존문자,대체문자) 바꾸고 싶은 문자열에서 처음으로 찾은 문자만 변환

예)

    public static void main(String[] args) {
    	String old = "abcdabcd";
    	String newchar = old.replaceFirst("a", "z");
    	System.out.print(newchar);
    }

 

결과) 첫 번째로 찾은 문자 a만 z로 변환 

 


3. replaceall(String regex,String replacement)

=>old.replaceAll(정규식, 대체 문자)

그냥 문자열을 바꾸고 싶을 때는 replace와 동일한 출력 값을 내지만 특수문자를 변환하고 싶을때는 결과가 다르게 나온다

 

예1) replace 예1)와 동일한 문자열 사용

    public static void main(String[] args) {
    	String old = "abcdabcd";
    	String newchar = old.replaceAll("a", "z");
    	System.out.print(newchar);
    }

결과) replace와 동일한 출력

 

 

예2) 특수문자 . 을 정규식 자리에 넣는다

    public static void main(String[] args) {
    	String old = "abcd.abcd";
    	String newchar = old.replaceAll(".", "z");
    	System.out.print(newchar);
    }

결과) 모든 문자열이 z로 다 변환됨

 

 

예3) 정규식에 [0-9]를 넣음

    public static void main(String[] args) {
    	String old = "0123456789변환";
    	String newchar = old.replaceAll("[0-9]", "숫자");
    	System.out.print(newchar);
    }

결과) 모든 숫자가 문자열 "숫자"로 변환

반응형

댓글