質問

いていますutf-8でエンコードされたファイルを含むアラビア語のテキストで検索します。

私の問題diacritics、どのように検索キょうか。

のような場合は負荷とテキストはInternet Explorerを変換したいテキストをHTML昇、雨などの天候により、が飛び方diacritics?

さい

Edit1:検索は行い以下のコード:

 var m1 : TMemo; //contains utf-8 data)
     m2 : TMemo; // contains results

 ...

      m2.lines.BeginUpdate;
      for s in m1.Lines do
      begin
        if pos(eSearch.Text,s)>0 then
           begin
           m2.Lines.Add(s);
           end;
      end;
      m2.Lines.EndUpdate;

Edit2:例unicodeデータ

قُلْهُوَاللَّهُأَحَدٌ お探しの場合は文字なdiacritics قلのقُلْ見られます。

役に立ちましたか?

解決

そのdiacriticsだけではありません。

っていて文字の入れ替えに交換して空の文字列また、正常のテキスト'أ''إ''آ'すべてに変換'ا、ものى ئ ي ؤ و ة ه...

検索さんもご利用光stemmerの高い名シーンばかりをそろえkhoja stemmer"(Javaソース こちらの)

より高度な方法はない TREC:

  • 句読点の削除
  • 削除diacritics(主に弱母音)のコーパスな弱母音.
  • 一部の辞を含弱母音.これも一致しています。
  • 除非文字
  • 置き換え初期إはأ素alif.ا
  • 交換آとا
  • の配列ىءとئ
  • 交換終ىとي
  • 交換終ةとه
  • ストリップ6接頭辞:論文(فال آال،بال،وال،ال،)و (および)からの始まり正規化した言葉
  • ストリップ10の接尾辞からの言葉ات ان،ها،ي ة،ه،ية،يه،ين،ون

私指数のテキストによりこの変更テキスト(メモう店内のインデックスに単語の原文と同じことの検索を返します。

また検索に参考1.テキストのラインを一つ一つを検索することに複数の単語ときのラインに包まれる次の行に折り返します。

他のヒント

Windows Vista+できるのではないでしょうかしてくれてありがとうございますの経験がなくアラビア語) CompareString オプションLINGUISTIC_IGNOREDIACRITIC.

NORM_IGNORENONSPACEがあります。その一方で、 ないことがあり.

あるものばかりで推測)することができる解析して文字列 GetStringTypeEx は、手動で削除diacritics.思い通話 FoldString または MultiByteToWideChar フラッグMAP_COMPOSITEます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top