[Javascript] 문자열에서 특수문자, 한글만 제거
April 13, 2024
문자열에서 특수문자, 한글만 제거하는 방법에 대해서 알아보겠습니다. 또는, 특수문자와 한글 모두 제거하는 방법도 알아보겠습니다.
1. 문자열에서 특수문자만 제거
replace(pattern, repl)
은 문자열에서 패턴에 일치하는 문자열을 찾고 repl로 교체합니다.
[!@#$%^&*()_+{}\[\]:;<>,.?~\\/\-=|"']
: 특수문자에 대한 정규표현식/pattern/g
:g
는 패턴과 일치하는 모든 문자열을 찾으라는 의미str.replace(/[!@#$%^&*()_+{}\[\]:;<>,.?~\\/\-=|"']/g, "")
: 특수문자를 모두 찾아서 ""으로 변경하여 제거
아래와 같이 문자열에서 특수문자만 제거합니다.
let str = "Hello, World! This is an example string.";
let result = str.replace(/[!@#$%^&*()_+{}\[\]:;<>,.?~\\/\-=|"']/g, "");
console.log(result);
Output:
Hello World This is an example string
2. 문자열에서 한글만 제거
replace(pattern, repl)
으로 한글만 제거할 수 있습니다. 아래 처럼 한글에 대한 패턴을 만들고, 한글을 찾아 제거합니다.
[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]
: 한글에 대한 정규표현식/pattern/g
:g
는 패턴과 일치하는 모든 문자열을 찾으라는 의미str.replace(/[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/g, "")
: 한글을 모두 찾아서 ""으로 변경하여 제거
let str = "Hello, World! 안녕.. 자바스크립트..";
let result = str.replace(/[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/g, "");
console.log(result);
Output:
Hello, World! .. ..
3. 문자열에서 한글과 특수문자 모두 제거
한글과 특수문자의 패턴을 함께 사용하여 모두 제거할 수도 있습니다.
[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]|[!@#$%^&*()_+{}\[\]:;<>,.?~\\/\-=|"']
:|
는 or의 의미로 사용되며, 두개의 패턴(한글과 특수문자)을 함께 적용하였습니다.
let str = "Hello, World! 안녕$ #자바스크립트..";
let result = str.replace(/[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]|[!@#$%^&*()_+{}\[\]:;<>,.?~\\/\-=|"']/g, "");
console.log(result);
Output:
Hello World