概要
- 文書の中から、特定の文字列をフレーズ検索するユーティリティ
- 語のつながりを抽出するため、 String#indexOfやString#containsでは不可能だったフレーズ単位での検索が実行できる
It is licensed under MIT.
例
以下の文章から freeという文字列をフレーズ検索する
文例:I'm a freelancer but I'm not free.
 結果:I'm a freelancer but I'm not [free].
 「freelancer」にあるfreeは検索しない。freelancerというかたまりであるから。
コード例
import org.riversun.phrasef.PhraseFinder;
import org.riversun.phrasef.PhraseFinder.PhrasefResult;
public class Example2 {
  public static void main(String[] args) {
    final PhraseFinder obj = new PhraseFinder();
    final String TEXT = "I'm a freelancer but I'm not free.";
    final String SEARCH_PHRASE = "free";
    final PhrasefResult result = obj.findPhrase(TEXT, SEARCH_PHRASE);
    System.out.println(result);
  }
} 
実行結果
PhrasefResult [analysisMode=HANKAKU_ALPHABET_ONLY, isHit=true, numOfHits=1, hint=I'm a freelancer but I'm not [free]., posList=[PhrasePos [startIndex=29, endIndex=33]]]
#ダウンロード
maven
- You can add dependencies to maven pom.xml file.
<dependency>
  <groupId>org.riversun</groupId>
  <artifactId>phrase-finder</artifactId>
  <version>1.2.0</version>
</dependency> 
対応しているフレーズの種類
フレーズ(語句)の種類は以下のenumに示す通り
  public enum PhraseAnalysisMode {
    ZENKAKU_KATAKANA, // 全角カタカナ専用分析モード
    ZENKAKU_HIRAGANA, // 全角ひらがな専用分析モード
    ZENKAKU_KANJI, // 全角漢字専用分析モード
    ZENKAKU_NUMERIC_ONLY, // 全角数字専用分析モード
    HANKAKU_NUMERIC_ONLY, // 半角数字専用分析モード
    HANKAKU_ALPHABET_ONLY, // 半角英字専用分析モード
    HANKAKU_ALPHA_NUMERIC, // 半角英数字専用分析モード
    UNKNOWN
  }; 
フレーズの切れ目の判定方法
- 半角で構成されるフレーズの場合
- 全角で構成されるフレーズの場合
 JarCasting
 JarCasting
