Language/Java
[Java] 이모지(Emoji) 제거하기
The Neo
2023. 6. 20. 14:04
이모지(Emoji)는 웹페이지나 어플리케이션 같은 곳에서 감정이나 아이디어를 표현하는데 사용되는 작은 그림이나 아이콘입니다. 일본에서 개발되었으며 전 세계적으로 널리 사용되고 있습니다. 이모지는 웃는 얼굴, 눈물 흘리는 얼굴, 동물, 식물, 날씨 현상, 심볼 등 다양한 사물이나 감정을 표현하며 텍스트 대화에서 감정을 전달하는 데 유용합니다.
이모지는 유니코드 표준의 일부로, 다양한 디지털 플랫폼과 운영 체제에서 공통으로 인식하고 표현할 수 있습니다. 이모지는 텍스트 기반의 커뮤니케이션을 더 풍부하고 즐겁게 만드는 동시에, 문맥에 따라 다르게 해석될 수 있는 문제도 갖고 있습니다.
이모지는 위의 설명과 같이 유니코드(Unicode) 표준의 일부입니다. 이모지를 만들기 위해서 여러개의 유니코드가 필요하며, 유니코드를 제어할 수 있다면 이모지를 제거할 수 있다는 말입니다.
이모지 포함 내용
안녕하세요😀 저는 로보트🤖를 좋아합니다
위와 같은 내용들이 있다고 가정을 해보겠습니다. 이모지는 유니코드로 구성이 되어 있기 때문에 특정 범위의 유니코드를 지우면 이모지를 제거할 수 있습니다.
이모지 제거 코드
public String removeEmojis(String source) {
String regexEmojis = "[\uD83C-\uDBFF\uDC00-\uDFFF]+";
// 이모지 제거
String result = source.replaceAll(regexEmojis, "");
return result;
}
일단 위 내용은 이모지를 제거하는 메소드입니다. 정규화를 통해서 제거를 하며, 이모지의 시작 유니코드와 다음 유니코드를 조합하여 이모지가 만들어지게 되는데 위 정규화 내용은 2개의 유니코드의 범위를 지정합니다.
최종 예시 코드
public class Test {
public static void main(String[] args) {
String document = "안녕하세요😀 저는 로보트🤖를 좋아합니다";
System.out.println(document);
System.out.println(removeEmojis(document));
}
public static String removeEmojis(String source) {
String regexEmojis = "[\uD83C-\uDBFF\uDC00-\uDFFF]+";
// 이모지 제거
String result = source.replaceAll(regexEmojis, "");
return result;
}
}
최종 결과
안녕하세요😀 저는 로보트🤖를 좋아합니다
안녕하세요 저는 로보트를 좋아합니다
반응형