특수 문자 제거기
텍스트에서 특수 문자를 선택적으로 제거합니다
📖 정규식 문자 클래스의 함정, 왜 이모지가 절반만 지워지는가 가이드 보기
특수 문자 제거기
체크한 옵션들의 문자를 모두 모아 하나의 정규식 문자 클래스([...])로 합친 뒤 한 번에 replace()하는 방식으로 동작합니다. 추가 제거 필드에 입력한 문자는 -, ], ^, \ 이 4개 문자만 자동으로 이스케이프 처리되어 문자 클래스 안에 안전하게 삽입되므로, 정규식을 몰라도 어떤 문자든 입력해 제거할 수 있습니다. 다만 이 정규식은 유니코드(u) 플래그 없이 만들어지기 때문에, 일부 이모지처럼 UTF-16에서 두 코드 유닛으로 이루어진 문자를 추가 제거 필드에 넣으면 의도한 대로 통째로 제거되지 않을 수 있습니다. 문자 제거는 줄바꿈 제거·연속 공백 정리보다 먼저 실행되므로, 특수문자를 지운 자리에 남는 빈 공백은 '연속 공백 정리'를 함께 켜야 정리됩니다.
자주 묻는 질문
이 도구는 내부적으로 어떤 방식으로 문자를 제거하나요?
체크된 옵션들의 문자를 문자열로 이어 붙여 [구두점기호괄호...] 형태의 정규식 문자 클래스 하나를 동적으로 만든 뒤, 텍스트 전체에 한 번의 replace()로 적용합니다.
'따옴표' 옵션을 켜면 정말 따옴표 3종류만 지워지나요?
아니요. 이 옵션은 작은따옴표·큰따옴표·백틱과 함께 백슬래시(\) 문자도 같이 제거하도록 돼 있습니다. 라벨에는 따옴표만 표시돼 있지만 실제로는 이스케이프에 쓰이는 백슬래시까지 함께 지워진다는 점을 알아두는 것이 좋습니다.
추가 제거 필드에 하이픈이나 대괄호 같은 정규식 특수문자를 넣어도 안전한가요?
네, 안전합니다. 이 필드에 입력한 문자 중 -, ], ^, \ 네 가지는 정규식 문자 클래스 안에서 특별한 의미를 가지므로 코드가 자동으로 이스케이프 처리해, 정규식 문법을 몰라도 이 문자들을 있는 그대로 제거 대상에 넣을 수 있습니다.
추가 제거 필드에 이모지를 넣으면 항상 정확히 지워지나요?
보장되지 않습니다. 이 도구가 만드는 정규식에는 유니코드(u) 플래그가 없어서, UTF-16에서 두 개의 코드 유닛으로 표현되는 일부 이모지를 넣으면 이모지 전체가 아니라 그중 절반의 코드 유닛만 문자 클래스에 들어가 의도와 다르게 동작할 수 있습니다.
여러 옵션을 동시에 켜면 어떤 순서로 처리되나요?
체크된 문자 유형과 추가 제거 필드의 문자를 모두 합친 문자 클래스 제거가 가장 먼저 한 번에 실행되고, 그 다음 줄바꿈 제거, 마지막으로 연속 공백 정리가 순서대로 적용됩니다. 특수문자를 지운 자리에 공백이 남아 있어도 '연속 공백 정리'를 켜지 않으면 그대로 남습니다.
숫자 제거 옵션은 정확히 무엇을 지우나요?
문자 클래스 안에 0-9 범위를 추가하는 방식으로, 0부터 9까지의 아라비아 숫자를 모두 제거합니다.
HTML 엔티티는 제거되나요?
기본 옵션에는 없습니다. &, <, > 같은 HTML 엔티티를 지우려면 추가 제거 필드에 해당 문자를 직접 입력해야 합니다.
정규식을 몰라도 원하는 문자만 골라 지울 수 있나요?
네. 체크박스로 미리 정의된 유형을 고르거나, 추가 제거 필드에 지우고 싶은 문자를 그대로 타이핑하면 코드가 정규식 특수문자 이스케이프까지 자동으로 처리해주므로 정규식 문법을 몰라도 원하는 문자를 안전하게 제거할 수 있습니다.