초성검색
윈도우8 스토어앱 개발에 사용할 수 있는
모다(홍준모)님의 한글초성검색 라이브러리를 소개합니다.
모다님께서 페북 윈도우8 관심그룹 등에서 공개하신지는 수개월 흘렀습니다만,
막상 쓸려고 하면 google등에서 검색이 잡히지 않아,
검색 결과에 좀 잡히라고 이렇게 포스트를 쓰고 있습니다.
string의 확장 메서드로 KEqual, KContains를 지원해서,
개발자들이 손쉽게 초성 검색을 활용할 수 있게 합니다.
string keyword = "ㅇㄱㅂ"; List<string> words = GetWords(); var exactMatchs = words.Where(c=>c.KEqual(keyword)); var containingMatchs = words.Where(c=>c.KContains(keyword));
이 밖에도 문자열에서 초성을 추출해주는 KExtractChosung(...)과
두 문자열의 초성패턴이 같은지 여부를 확인해주는 KMatches(...)도 있으니
많은 사랑 부탁드립니다.
제 시간을 절약할 수 있게 해준 모다님께 정말 감사드립니다.
확장메서드와 네임스페이스
*팁 일반적으로 A라는 클래스의 확장메서드는 A라는 원(original)클래스와 같은 namespace로
정의가 되면 일반적인 사용환경에서 using 네임스페이스문 추가없이 편리하게 심리스(Seamless)한 사용이 가능합니다.
즉, string의 확장메서드를 구현할 때는
string 네임스페이스인 namespace System으로 확장메서드 클래스도 구현한다.
현재 이 라이브러리는 namespace Moda.Libraries.StringExtension.Korean를 사용하고 있기 때문에
사용하실 때 코드 상단에 using Moda.Libraries.StringExtension.Korean을 추가하셔야만
string 타입의 객체에 점(.)을 찍으실 때, KEqual, KContains와 같은 확장메서드가 보이시게 되어있습니다.
그래서 제가 다음번 릴리즈부터는 namespace System으로 변경하여 주십사 요청을 드려놓은 상태입니다.
일단 프로젝트사이트에서 소스 다운로드 가능하게 제공되고 있으니까
새 릴리즈가 나오기 전에 직접 수정하시고 빌드하셔서 사용하셔도 됩니다.
'Metro > Windows 8' 카테고리의 다른 글
윈도우8: 코드로 디스플레이 절전기능 방지하기 (0) | 2013.01.23 |
---|---|
윈도우8: 앱에서 스토어 띄우기 (XAML+C#) (0) | 2013.01.23 |
레노보 아이디어센터 호라이즌(Lenovo IdeaCentre Horizon)을 소개합니다 (0) | 2013.01.17 |
윈도우 스토어에 pooq 2.0 업데이트 올라왔네요. (0) | 2013.01.16 |
VS2012에서 C# 개발 중에 클래스이름에 색깔표시가 안 될 때 해결책 (0) | 2013.01.15 |
서피스 프로(Surface Pro)에 대한 해외뉴스들 모락모락 (0) | 2013.01.11 |
전시회 <철들고 예술하기> 도록앱, 윈도우8 스토어에 등록 (2) | 2012.12.24 |