Project has been moved to: https://github.com/modamoda/kstring.net

KString 프로젝트는 github로 이동하였습니다. 최신판의 소스와 이슈는 https://github.com/modamoda/kstring.net 에서 조회 가능합니다.

Project Description
한글 자모와 관련된 확장기능을 제공하는 string클래스 확장팩 라이브러리
Extension library for "string" class that enhances "Hangul Jamo system" features

한글 문자열 확장팩 라이브러리 / Korean String Extension

한글 자모 시스템에 특화된 문자열 비교 및 다양한 기능을 제공합니다.
Extension library for String class, specially optimized for "Hangul Jamo System"

Nuget Download

PM> Install-Package KString
http://www.nuget.org/packages/KString/

Simple usage / 간단한 사용법

프로젝트에 어셈블리를 추가하신 후 " using Moda.Libraries.StringExtension.Korean " 를 소스파일에 넣어주시면 사용이 가능합니다.
v1.0 이후로 별도의 using 문이 필요없습니다. 어셈블리 추가시 바로 사용 가능합니다.

KString Extension usage 01.png
KString Extension usage 02.png
// KEquals : 초성이나 초성+중성이 정확히 일치해야 함
"동해물과 백두산이".KEqulas("ㄷㅎㅁㄱ ㅂㄷㅅㅇ"); // true
"동해물과 백두산이".KEqulas("도해무과 ㅂㄷㅅㅇ"); // true
"동해물과 백두산이".KEqulas("ㄷㅎㅁㄱ ㅂㄷㅅ") // false 

// KContains : 해당 초성이나 초중성이 들어가면 OK
"동해물과 백두산이".KContains("ㄷㅎㅁㄱ"); // true

// KIndexOf : 해당 패턴이 시작하는 부분을 리턴
"동해물과 백두산이".KIndexOf("ㄷㅎㅁㄱ"); // 0
"동해물과 백두산이".KIndexOf("ㅂㄷㅅ"); // 4

// KMatch : 해당 패턴에 해당하는 스트링을 추출
"동해물과 백두산이".KMatch("ㄷㅎㅁㄱ"); // "동해물과"
"동해물과 백두산이".KMatch("ㅂㄷㅅ"); // "백두산"

// KSeparate : 자소분리
"동해물과".KSeparate(); // "ㄷㅗㅇㅎㅐㅁㅜㄹㄱㅘ"

// lambda 또는 interface를 활용해 기능 확장이 가능
"동해물과".KContains("ㅗㅐㅜㅘ", (i, p) => { /* ... */ });
"동해물과".KContains("ㅗㅐㅜㅘ", ChosungOnlyComparator);

// 초성 추출
"동해물과 백두산이".KExtract(); // "ㄷㅎㅁㄱ ㅂㄷㅅㅇ"

// 조사 자동추가
"동해물".KAppendJosa(JosaType.WG); // "동해물과"
"백두산".KAppendJosa("이", "가"); // "백두산이"

(소스코드의 Test코드들을 참고하셔도 됩니다)

Required

  • .NET 4.0 or higher
  • Windows Phone 7.5 or higher
  • Windows Store Apps
  • Silverlight 5 or higher

See Also

Special Thanks to

  • HeeJae Chang
  • Junil Um
  • Gilbok Lee

사용중에 문제가 있으면 Discussions나 트위터, seoulmate.moda gmail 등을 통해서 알려주세요
feedback welcomed! @modalove
 

Last edited Dec 10, 2014 at 1:55 PM by modalove, version 17