개발 언어/자바 java

[java] 문자열 바꾸기 (replace)

삐뚤어진 개발자 2020. 2. 18.

문자열 바꾸기 (replace)

 

 

String을 자신이 바꾸고자 하는 값을 바꾸는 방법은 

replace() 메소드를 사용하면 된다.

 

replace 함수는 크게 3가지 종류가 있다.

 

 

1. replace

바꾸고 싶은 문자를 모두 바꿔준다.

 

문법 : 

replace([바꾸고 싶은 문자],[바꿀 문자])​

테스트 :

String test = "안녕하세요.링고비입니다. 저는링고비입니다. ";	

test= test.replace("링고비", "ringobee");	
System.out.println(test);

//결과 : 안녕하세요.ringobee입니다. 저는ringobee입니다.

 

2. replaceAll

바꾸고 싶은 문자를 모두 바꿔준다. 

 

문법 :

replace([정규식],[바꿀 문자])

 

테스트 : 

String test = "안녕하세요 저는 링고비6 입니다.5 링고비입니다.";

test = test.replaceAll("[0-9]","test");
System.out.println(test);

//결과 : 안녕하세요 저는 링고비test 입니다.test 링고비입니다.

replaceall은 replace와 다르게 첫 파라미터를 정규식을 넣어준다. 

(정규식은 패턴 쯤으로 생각하면 된다. )

[0-9] 는  0~9 의 숫자를 찾는 정규식이다. (숫자를 찾는 정규식)

 

그래서 6, 5 숫자는 test문자열로 모두 바뀐다. 

 

3. replaceFirst

문법 :

replaceFirst([바꾸고 싶은 문자],[바꿀 문자])

테스트 :

String test = "안녕하세요.링고비입니다. 저는링고비입니다. ";	

test= test.replaceFirst("링고비", "ringobee");	
System.out.println(test);

//결과 : 안녕하세요.ringobee입니다. 저는링고비입니다.

 

first라는 글자에서 추측할 수 있듯, 문자열 중에 첫 문자를 바꾸는 함수다.

 

 

-- 추가적으로 replaceFirst 처럼 첫 문자를 바꾸는 함수 말고,

2번째, 3번째 문자만 혹은 마지막 문자만 바꿀수는 없을까? 

 

제공되는 함수는 없고 indexof, subString을 이용한다면, 직접 구현할 수 있을 것이다.

 

 

댓글