백준과 프로그래머스를 번갈아 가면서 코딩테스트 문제들을 풀고 있다.
둘 다 걸음마 수준으로 브론즈와 Lv.0 이다.
오늘 문제를 풀면서 String
의 replace,replaceAll
을 알게 돼서 작성한다. 분명 어디선가 배웠던것 같은데 기억이 안난다... 덕분에 되게 돌아돌아 풀었기 때문에 기록하면서 기억하자.
String my_string = "nice to meet you";
String answer = my_string.replaceAll("[aeiou]", "");
영어 모음인 a,e,i,o,u
를 없애는 코드이다.
해당 메서드를 찾아보는 과정에서 replace
와 replaceAll
의 차이를 알게 되었다.
replace(char oldChar, char newChar)
replaceAll(@NotNull String regex, @NotNull String replacement)
나는 인텔리제이를 사용 중인데 인텔리제이에서 해당 메서드를 부르면 어떤 값을 넣어줘야 하는지 친절하게 알려준다.
replace
는 char 를 넣어서 그냥 해당 문자를 다른 문자로 바꾸는 것이고
replaceAll
은 regex, 즉 정규표현식
을 넣어줘야 한다는 것이다.
만약 replace
를 사용해서 모음을 없애려면 아래 코드처럼 작성하면 된다.
String my_string = "nice to meet you";
my_string = my_string.replace("a","");
my_string = my_string.replace("e", "");
my_string = my_string.replace("i", "");
my_string = my_string.replace("o", "");
my_string = my_string.replace("u", "");
어떤 차이가 있는지 이해가 되는가?? 정규표현식
을 사용하는 메서드와
char
를 활용해서 바꿔치는 하는 메서드의 차이이다!
지식이 부족해서 잘 설명을 했는지 모르겠는데... 혹시 모자라면
구글형님에게 물어보십쇼... 진짜 정리 잘 되어 있습니다 ㅎㅎ
제 방식대로 정리하다 보니 잘 했는지 모르겠네용