replace(CharSequence target, CharSequence replacement) replaceAll(String regex, String replacement)

<aside> 💡 replace() 는 target 문자 자체를 replacement로 대체한다

</aside>

String str = "aaaabcbbbabccccabc";
str = str.replace("abc","0");

// 'abc' 문자 자체를 '0'으로 변경
// aaa'abc'bbb'abc'ccc'abc' -> aaa0bbb0ccc0

<aside> 💡 replaceAll() 은 정규식 표현을 사용해여 문자를 대체하는 형식이다

</aside>

String str = "aaaabcbbbabccccabc";
str = str.replaceAll("[abc]","0");

// 'a','b','c' 를 '0'으로 변경
// aaaabcbbbabccccabc -> 000000000000000000

Feat. 정규식


정규표현식 문법

. 임의의 한 문자 [] 문자의 집합 범위
* 문자가 0번 이상 발생 {} 횟수 또는 범위
+ 문자가 1번 이상 발생 () 소괄호 안의 문자를 하나의 문자로 인식
? 문자가 0번 혹은 1번 발생
^ 문자열의 시작 \ 확장 문자의 시작
$ 문자열의 끝 \z 입력의 끝
[abc] ‘a’ or ‘b’ or ‘c’ \s 공백
[^abc] a, b, c 를 제외 \w 알파벳이나 숫자
[a-zA-Z] a 부터 z && A 부터 Z \d [0-9] 와 동일
[a-z&&[^bc]] a 부터 z 이면서 b, c를 제외 (ad-z) \대문자 위의 내용과 반대

자주 사용하는 정규표현식

^[0-9]*$ 숫자
^[a-zA-Z]*$ 영문자
^[가-힣]*$ 한글
\\w+@\\w+\\.\\w+(\\.\\w+)? 이메일 주소
^\d{2,3}-\d{3,4}-\d{4}$ 전화번호
^01(?:0 1
\d{6}\-[1-4]\d{6} 주민등록 번호
^\d{3}-\d{2}$ 우편번호