[Javascript] 특정 문자 제거하기 - 모두 제거, 대소문자 구분 (replace)
Javascript의 문자열에서
특정 문자를 제거하기 위해서는
replace() 함수를 사용할 수 있습니다.
- replace()
- 특정 문자 제거하기
- 특정 문자 모두 제거하기
- 특정 문자 대소문자 구분 없이 모두 제거하기
replace()
let newStr = str.replace(substr, newSubstr);
replace() 함수는
str문자열에서
파라미터로 입력 받은 substr과 일치하는 부분을 찾아서,
(substr은 일반 문자열이 될 수도 있고, 정규식이 될 수도 있습니다.)
newSubstr로 교체한 문자열을 리턴합니다.
(newSubstr은 일반 문자열이 될 수도 있고, 함수가 될 수도 있습니다.)
파라미터
substr
변경할 대상 문자열 (또는 정규식)
이 값이 일반 문자열일 경우, 전체 문자열에서 첫번째로 찾은 문자열만 변경됩니다.
전체 문자열에서 찾은 모든 substr을 newSubstr로 변경하고 싶은 경우,
정규식을 사용해야 합니다.
newSubstr
substr을 대신할 새로운 문자열 (또는 함수)
특정 문자 제거하기
let str = 'ABCABC';
let replaced_str = str.replace('AB', '');
document.write('삭제 전 : ', str, '<br/>');
document.write('AB 삭제 후 : ', replaced_str, '<br/>');
str.replace('AB', '');
문자열에서 'AB'를 찾아서 빈 문자열로 변환하여
문자열에서 'AB' 문자열을 삭제합니다.
replace() 함수는, 문자열에서 찾은 첫 번째 'AB' 문자열만 치환합니다.
특정 문자 모두 제거하기
let str = 'ABCABC';
let replaced_str = str.replace(/AB/g, '');
document.write('삭제 전 : ', str, '<br/>');
document.write('AB 삭제 후 : ', replaced_str, '<br/>');
str.replace(/AB/g, '');
파라미터로 정규식을 전달하여
문자열에 존재하는 모든 'AB' 문자열을 공백으로 변환하여 삭제하였습니다.
'AB' 문자열 앞뒤의 '/'는 정규식의 시작과 끝을 나타냅니다.
'/'뒤의 'g'는 'Global Search'를 의미하는 플래그입니다.
'g' 플래그는 전역 탐색, 즉 전체 문자열을 탐색 하도록 합니다.
특정 문자 대소문자 구분없이 모두 제거하기
let str = 'ABCabc';
// 대소문자 구분 X
let replaced_str1 = str.replace(/AB/i, '');
// 대소문자 구분 X + 전체 삭제
let replaced_str2 = str.replace(/AB/ig, '');
document.write('삭제 전 : ', str, '<br/>');
document.write('AB 삭제 후(대소문자구분X) : ', replaced_str1, '<br/>');
document.write('AB 삭제 후(대소문자구분X, 모두삭제) : ', replaced_str2, '<br/>');
이번에는 변환할 대상 문자열에 대문자와 소문자가 섞여 있습니다.
str.replace(/AB/i, '');
파라미터로 전달한 정규식의 플래그로 'i'를 지정하였습니다.
'i'는 'ignore case'를 의미합니다.
즉, 플래그를 i로 지정하면 대소문자를 구분하지 않습니다.
따라서, 이 예제는 전체 문자열에서 대소문자를 구분하지 않고,
'AB', 'ab'를 모두 찾아내어 삭제합니다.
str.replace(/AB/ig, '');
대소문자 구분도 하지 않고, 문자열 전체에서 지정한 문자를 삭제합니다.
정규식 뒤에 들어가는 플래그는 'ig'와 같이 여러 개를 한꺼번에 지정할 수 있습니다.
Javascript에서 특정 문자열을 삭제하는 방법을 알아보았습니다.