반응형
- replace() / replaceAll() 사용법 및 차이 -
replace()
- String replace(CharSequence target, CharSequence replacement)
- replace() 함수는 대상 문자열을 원하는 문자 값으로 변환하는 함수이다.
- 첫번째 매개변수는 변환하고자 하는 대상이 될 문자열
- 두번째 매개변수는 변환할 문자 값
예제 1) replace() 기본 사용법
public class ReplaceTest{
public static void main(String[] args){
String replaceTest = "우리의 리플레이스 테스트";
System.out.println( replaceTest.replace("리플레이스","replace") );
// 우리의 replace 테스트
}
}
replaceAll()
- String replaceAll(String regex, String replacement)
- replaceAll() 함수는 대상 문자열을 원하는 문자 값으로 변환하는 함수이다.
- 첫번째 매개변수는 변환하고자 하는 대상이 될 문자열
- 두번째 매개변수는 변환할 문자 값
예제 2) replaceAll() 기본 사용법
public class ReplaceAllTest{
public static void main(String[] args){
String replaceAllTest = "우리의 리플레이스의 리플레이스테스트";
System.out.println( replaceAllTest.replaceAll("리플레이스","replaceAll") );
// 우리의 replaceAll의 replaceAll테스트
}
}
replace() vs repalceAll()
이쯤 되면 이제 replace()와 replaceAll()의 차이점이 뭘까 하는 생각을 가질 수 있는데
인자 값의 형태를 보면 CharSequence와 String 이라는 차이점을 볼 수 있습니다.
그리고 replaceAll()의 설명을 보면 regex 라 나와있는데 아시다시피 이것은 "정규 표현식"을 의미하죠
개발을 할 때 역시 정규표현식을 이용하여 많이들 개발을 하는데 replaceAll()은 정규표현식 사용이 가능합니다.
예제 3) replace() vs replaceAll()
public class AllTest{
public static void main(String[] args){
String allTest = "aaabbbvccacfgdracabtghd";
System.out.println( allTest.replace("ab","0") );
// aa0bbvccacfgdrac0tghd
System.out.println( allTest.replaceAll("[ab]","0") );
// 000000vcc0cfgdr0c00tghd
}
}
trim()으로 지울 수 없는 글자 사이사이 공백을 제거할 때 replace 함수를 사용하기도 합니다.
replaceFirst()
추가적으로 이게 있는데 사용법은 위와 전부 같으나
First라는 것을 보고 알 수 있듯이 처음 나오는 단어를 찾아서 바꿔주는 함수이다.
예제 4) replaceFirst() 기본 사용법
String replaceFirstTest = "우리의 리플레이스의 리플레이스테스트";
System.out.println( replaceFirstTest.replaceFirst("리플레이스","replaceFirst") );
// 우리의 replaceFirst의 리플레이스테스트
반응형
댓글