[Javascript/JS] String 특정/특수 문자 제거 방법. 정규표현식, 모든 문자, 앞/뒤 공백, 개행, 대소문자 구분 replace 함수 사용법



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