1. Javascript String 특정/특수 문자 제거하는 방법
Javascript 를 이용하다 보면 원하지 않는 문자가 포함된 String 에서 특정/특수 문자를 제거해야 하는 케이스가 존재합니다. 이 때, JS 에서는 어떤 함수를 사용할까요? Javascript 에서는 바로 replace
함수를 사용합니다. replace
는 정규표현식도 사용할 수 있기 때문에 매우 편리한 함수입니다.
2. 사용법
let replaceString = originalString.replace(aString, bString);
replace 함수는 위와 같은 방법으로 사용하는데요. 위의 값들은 각각 아래와 같은 의미를 가지고 있습니다.
- originalString : 원래(바꾸고자 하는 대상) String
- aString : 바꾸고 싶은 특정 문자
- bString : originalString 에 포함된 aString 을 bString 으로 변경
- replaceString : 변환(치환)된 결과값
2.1. 특정 문자 하나만 제거하기
aString 을 단순 String 만 쓰면 완전히 동일한 요소만 하나 찾게 되면 bString로 변경합니다. 아래의 예제에서는 ‘KAKAO’ 에서 ‘KA’를 맨 앞에서 찾아서 ‘’ 로 변경하여 ‘KAO’가 됩니다.
let originalString = 'KAKAO';
let replaced_str = originalString.replace('KA', '');
// replaced_str 는 'KAO'
아래의 예제에서는 ‘KAKAO’ 에서 ‘ka’를 맨 앞에서 찾는데, 없기 때문에 ‘KAKAO’입니다.
let originalString = 'KAKAO';
let replaced_str = originalString.replace('ka', '');
// replaced_str 는 'KAKAO'
2.1. 특정 문자 모두 제거하기
aString 을 아래와 같이 //g로 감싸게 되면 완전히 동일한 요소를 모두 찾아 되면 bString로 변경합니다. 아래의 예제에서는 ‘KAKAO’ 에서 ‘KA’를 모두 찾아서 ‘’ 로 변경하여 ‘O’가 됩니다. //g 는 정규표현식 문법으로 global, 전체를 의미합니다.
let originalString = 'KAKAO';
let replaced_str = originalString.replace(/KA/g, '');
// replaced_str 는 'O'
일부 특수문자를 정규표현식에서 제거하려면 아래와 같이 \ 를 앞에 써주어야 합니다. - 는 아래와 같은 방법으로 사용해야 합니다.
let originalString = '---';
let replaced_str = originalString.replace(/\-/g, '');
// replaced_str 는 ''
2.2. 개행 제거
불필요한 행 \n 을 아래와 같이 제거할 수 있습니다.
// 개행 제거
let originalString = 'KAKAO\n';
let replaced_str = originalString.replace(/\n/g, '');
// replaced_str 는 'KAKAO'
2.3. 문자열 내 공백 제거
모든 불필요한 공백은 아래와 같이 제거할 수 있습니다.
// 공백 제거
let originalString = ' K A K A O '
let replaced_str = originalString.replace(/\s/g, '');
// replaced_str 는 'KAKAO'
2.4. 앞/뒤 공백 제거
앞뒤에만 존재하는 공백은 아래와 같이 제거할 수 있습니다.
// 공백 제거
let originalString = ' KAKAO ';
let replaced_str = originalString.replace(/^\s+|\s+$/g, '');
// replaced_str 는 'KAKAO'
2.5. 대소문자 구분 없이 문자열 제거
정규표현식에 i 를 붙여주면 모든 문자열이 제거됩니다.
let originalString = 'kaKAO';
let replaced_str = originalString.replace(/KA/i, '');
// replaced_str 는 'KAO'
2.6. 어지간한 특수문자 모두 제거
아래의 정규표현식을 사용해주면 어지간한 특수문자를 모두 제거해버릴 수 있습니다. 불필요한 문자가 전혀 필요 없을 때, 제거하는게 훨씬 더 편할 때 아래와 같은 수식을 사용하시면 편리홥니다.
const reg = /[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/gi;
originalString.replace(reg,'');
reference
- https://hianna.tistory.com/720
- https://lkt01010.tistory.com/222