照合のデモガイド

このアプレットは JDK 1.0 ではサポートされません。

テキスト照合では言語に合わせた文字列の比較、およびテキストの検索とアルファベット順のソートができます。照合のクラスでは順序付けの強さ (大文字と小文字の違いを無視するかどうかなど) を選択できます。また、無視される文字や展開および縮約される文字の取り扱いができます。

開発者には、さまざまな言語の照合規則についての知識は必要ありません。照合の必要なすべてのプログラムで、現在のデフォルトのロケールまたは特定のロケール (フランスや日本など) に関連付けられている照合オブジェクトを使用できます。

テキスト照合の基本 地域対応可能な照合 カスタマイズ 照合の詳細


テキスト照合の基本

英語でも、文字列を正しくソートするのは難しいことです。ソート結果には一貫性がなくてはなりません。文字列中のどんな相違も常に同じ方法でソートされる必要があります。ソートは、文字自体および照合オブジェクトの現在の順序付けの強さに基づき、テキストの相違点に相対的な優先度を割り当てて、行われます。

デモの見方

デモの方法

一貫性のあるソート:英語では、比較する文字列にほかの違いがないときは、大文字は必ず小文字のあとに並べられます。

1. [Sort Ascending] ボタンをクリックします。
2. [Sort Descending] ボタンをクリックします。
3. pat、Pat、PAT の順序が反転します。

順序付けの強さの違い:順序付けの強さが「Secondary (優先度 2)」の場合は、大文字と小文字の区別が考慮されません (大文字小文字を区別しない検索が可能)。順序付けの強さが「Primary (優先度 1)」の場合はアクセント記号も無視され、ベース文字だけが比較されます。

1. [Strength] メニューの [Primary] を選択します。
2. [Sort Ascending] と [Sort Descending] を交互にクリックします。
3. pat、Pat、PAT の順序は変わりません。

アクセント記号付きの文字やグループ化された文字を含む特殊文字によって、文字列照合は複雑になります。たとえば、「black-bird」という語の中のハイフン文字「-」は、比較する文字列のほかの文字が等しい場合にだけ重要になります。


地域対応可能な照合

さまざまなロケールに関連付けられた照合オブジェクトは、それぞれ異なる言語に合わせて文字列をソートするときに、必要な相違を処理します。

デモの見方

デモの方法

フランス語ではアクセントの相違が語の最後からソートされるので、「pêche」と「péché」の順序は英語の場合と異なります。

1. [Strength] メニューで [Tertiary] を選択します。
2. [Locale] メニューで [French (France)] を選択します。

ドイツ語では「o + ウムラウト (ö)」を「oe」と同様に扱うので、「Töne」の順序が変わります。

1. [Locale] メニューで [German (Germany)] を選択します。


カスタマイズ

既存の照合規則に追加や変更を行うことにより、新しい照合規則を作成することができます。このデモでは、[Collation Rules] フィールドを使って行います。このフィールドは、その言語の照合手順を組み立てる規則を示します。 リストのはじめに、「¥u0308」のような一見変わった要素があります。これらは Unicode 文字を表す Java の表記法です。この表記法を使用する理由は、現在ほとんどのブラウザでは全範囲の Unicode 文字を表示できないからです。

これ以降の例では、キーボードから入力する代わりにサンプル規則やテストケースをカット&ペーストすることができます。各フィールドの最後にペーストしてください。

デモの見方

デモの方法

既存の照合規則を修正することができます。照合規則の最後に要素を追加すると、以前の情報が無効になります。

たとえば、文字「P」をアルファベットの最後に並べることができます。

1. [Collation Rules] フィールドの最後にサンプル規則を追加します。
3. [Set Rules] ボタンをクリックします。
4. [Sort Ascending] を選択してソート結果の順序を確認します。

サンプル規則:

< p , P

「P を最後に並べる」という規則はあまり役に立つとは思えないかもしれませんが、各種の言語に対応させるためのソート手順の修正に使用されます。

デモの見方

デモの方法

既存の照合規則に新しい規則を追加することができます。たとえば、スペイン語の伝統的なソート規則のように、C のあとに単一文字として CH を追加できます。

1. [Collation Rules] フィールドの最後にサンプル規則を追加します。
2. [test] フィールドの最後にテストケースを入力します。
3. [Set Rules] ボタンをクリックします。
4. [Sort Ascending] を選択してソート結果の順序を確認します。

サンプル規則:

& c < ch , cH, Ch, CH

サンプルテストケース:

cat
czar
churo
darn

単一の文字として機能する一連の文字 (「縮約 (contraction)」として知られる) を追加するだけでなく、一連の文字として機能する文字 (「展開 (expansion)」として知られる) を追加することもできます。

デモの見方

デモの方法

照合規則には、記号および記号と等価なアルファベットのソートなど、ほかの手順を追加することもできます。

1. [Collation Rules] フィールドの最後にサンプル規則を追加します。
2. [test] フィールドの最後にテストケースを入力します。
3. [Set Rules] ボタンをクリックします。
4. [Sort Ascending] を選択してソート結果の順序を確認します。

サンプル規則:

& Question-mark ; ?
& Hash-mark ; #
& Ampersand ; '&'

サンプルテストケース:

?
#
&

展開と縮約を実際に組み合わせることができます。

デモの見方

デモの方法

日本語には長音文字があり、ソート時には文字を 2 つ並べる機能をします。類似した英文字を使って説明すると、「a-」は「aa」、「e-」は「ee」のようにソートされます。

1. [Collation Rules] フィールドの最後にサンプル規則を追加します。
2. [test] フィールドの最後にテストケースを入力します。
3. [Set Rules] ボタンをクリックします。
4. [Sort Ascending] を選択してソート結果の順序を確認します。

サンプル規則:

& aa ; a-
& ee ; e-
& ii ; i-
& oo ; o-
& uu ; u-

サンプルテストケース:

aardvark
a-rdvark
abbot
coop
co-p
cop


照合規則の組み立ての詳細については、「照合の詳細」を参照してください。 いろいろな語を入力して、照合の動作を確認してください。



ソースコード



© Copyright 1997. All rights reserved.Taligent, Inc., IBM Corp.