Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature]: getChoseong 함수가 알파벳이나 특수 기호를 유지할 수 있으면 좋겠습니다. #309

Open
nemovim opened this issue Dec 30, 2024 · 3 comments

Comments

@nemovim
Copy link

nemovim commented Dec 30, 2024

Description

현재 getChoseong 함수는 input에서 한글만 남긴 뒤 초성을 추출하고 있습니다. 하지만, 경우에 따라 알파벳이나 특수 기호를 유지한 채 초성을 추출하는 기능도 필요하다고 생각합니다.

예를 들어 IP 주소라는 단어에서 초성을 추출하면, 현재는 ㅈㅅ이라는 결과를 얻게 됩니다. 이는 IP라는 중요한 의미가 손실된 전혀 다른 결과라고 생각합니다.

저는 현재 초성 검색 기능을 구현하면서 es-hangul을 사용하고 있습니다. 초성 검색에서는 영문자 등을 유지해야 더 나은 결과를 얻을 수 있기에, 이와 같은 기능이 추가되면 좋겠다고 생각했습니다. 비록 초성 검색이라는 특수한 경우이지만, 이 외에도 알파벳과 특수 기호를 유지해야 하는 상황이 있을 것이라고 생각하여 요청드립니다.

Possible Solution

한글만 남겨둬야 하는 상황도 분명 존재하므로, 기본으로는 한글만 유지하는 것으로 하되, 추가적인 옵션을 인수로 받아서 개발자가 이를 선택할 수 있도록 하면 좋겠습니다.

그 예로 아래와 같은 방법이 있을 것 같습니다.

getChoseong('abc가나다!@#', { allowAlphabets: true }); // --> abcㄱㄴㄷ | 한글 및 알파벳만 허용
getChoseong('abc가나다!@#', { allowSymbols: true }); // --> ㄱㄴㄷ!@# | 한글 및 특수 기호만 허용

임시로 생각한 방안이니 참고만 해 주세요.

etc.

혹시 이와 같이 한글만 추출하는 동작이 의도한 것이거나, 제가 잘못 이해하고 있는 부분이 있다면, 알려주시면 감사하겠습니다. (_ _)

@po4tion
Copy link
Collaborator

po4tion commented Dec 30, 2024

안녕하세요 @nemovim 님! 이슈 남겨주셔서 정말 감사드립니다.

getChoseong은 특정 문자열을 입력받았을 때, 내부적으로 한글과 공백 이외의 문자들을 전부 제거하여 반환하도록 설계된 함수입니다.

다만 @nemovim 님처럼 초성 검색 기능을 구현하시거나, 한글과 다른 문자가 혼합된 입력을 그대로 유지하고 싶으신 경우도 있을 것 같습니다. 그렇다면, 이 기능을 getChoseong에 옵션으로 추가하는 방법도 좋고, 혹은 새로운 함수를 만들어 별도로 관리하는 방식도 고려해 볼 수 있을 것 같아요.

@okinawaa 님도 혹시 의견이 있으시다면 함께 말씀해 주시면 감사하겠습니다!

@suhdonghwi
Copy link
Contributor

안녕하세요 @nemovim 님, 의견 남겨주셔서 감사합니다.

말씀해주신 취지에 공감합니다. 현재 구현은 한글 이외 종류 문자를 모두 제거하고 있는데, 그것보단 한글이 아닌 문자도 모두 유지한 채로 결과를 반환하고, 사용하는 쪽에서 원하는대로 가공하는 것이 더 좋은 구현인 것 같습니다.

이를 조절하는 옵션을 추가하는 것도 좋지만 이를 영구적인 인터페이스로 유지하는 것보다는 다음 메이저 버전에서 Breaking Change를 발생시키는 것이 좋겠습니다.

현재의 계획은 이렇습니다:

  • 한글이 아닌 문자도 결과에 포함하도록 getChoseong의 구현을 수정합니다.
  • 다만 위 수정은 Breaking Change이므로 es-hangul의 다음 메이저 버전(version 3)에서 반영합니다.

@okinawaa
Copy link
Member

okinawaa commented Jan 6, 2025

@nemovim 님 이슈레이징 해주셔서 너무 감사드려요 위에 @suhdonghwi 님이 남겨주신 의견에 저도 적극 동의합니다!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants
@suhdonghwi @po4tion @nemovim @okinawaa and others