StringSearch クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
StringSearchは、SearchIterator オブジェクトで定義されている比較規則に基づいて言語に依存するテキスト検索を提供するRuleBasedCollatorです。
[Android.Runtime.Register("android/icu/text/StringSearch", ApiSince=24, DoNotGenerateAcw=true)]
public sealed class StringSearch : Android.Icu.Text.SearchIterator
[<Android.Runtime.Register("android/icu/text/StringSearch", ApiSince=24, DoNotGenerateAcw=true)>]
type StringSearch = class
inherit SearchIterator
- 継承
- 属性
注釈
StringSearchは、SearchIterator オブジェクトで定義されている比較規則に基づいて言語に依存するテキスト検索を提供するRuleBasedCollatorです。 StringSearch を使用すると、ドイツ語のコレーター、文字 > など、言語の偏心を確実に処理できます。と SS は、大文字と小文字が無視されるように選択された場合に一致します。 詳細については、「 ICU 照合順序設計ドキュメント」 を参照してください。
selection には 2 つの一致オプションがあります:<br> S' をオフセットの開始と終了の間のテキスト文字列 S のサブ文字列にします [start, end]。 <br> パターン文字列 P は、オフセット [start, end] のテキスト文字列 S と一致します。
option 1. Some canonical equivalent of P matches some canonical equivalent
of S'
option 2. P matches S' and if P starts or ends with a combining mark,
there exists no non-ignorable combining mark before or after S?
in S respectively.
オプション 2。 が既定値です。
この検索には、 BreakIteratorの中断反復子など、他のテキスト反復メカニズムと同様の API があります。 これらの API を使用すると、特定のパターンのすべての出現箇所を検索するテキストを簡単にスキャンできます。 この検索反復子を使用すると、 #reset を呼び出し、その後に #next または #previousを呼び出すことによって方向を変更できます。 最初に #reset を呼び出さずに方向変更が発生する可能性がありますが、この操作には速度の低下が伴います。 前方方向の一致結果は、結果が逆方向の順序で一致すると一致します
SearchIterator には、検索するテキスト文字列内の開始位置 ( SearchIterator#setIndex setIndex、 SearchIterator#preceding preceding 、 SearchIterator#following followingなど) を指定する API が用意されています。 開始位置は指定されたとおりに設定されるため、検索で誤った結果が表示される可能性がある危険な点があることに注意してください: <ul><li> 正規化が必要な部分文字列の途中で。
<li> 次の一致が見つかった場合、位置は前の文字とスワップする必要がある 2 番目の文字にすることはできません。 逆に、前の一致が見つかった場合、検索元の位置は、次の文字とのスワップを必要とする最初の文字にすることはできません。 たとえば、タイ語とラオス語の文字を交換する必要がある場合などです。
<li> 次のパターン一致が見つかると、コントラクト シーケンス内の最初の位置を除く任意の位置が失敗します。 前のパターンの一致が見つかった場合も同様です。無効な開始点は、コントラクト シーケンス内の最後の文字を除く任意の文字になります。
</ul>
BreakIteratorは、論理区切りでのみ一致する場合に使用できます。
BreakIteratorを使用すると、BreakIteratorによって指定された境界と正確に一致する結果のみが得られます。 たとえば、文字区切り反復子が使用されている場合、パターン "e" は文字列 "\u00e9" に見つかりません。
重複する一致を処理するためのオプションが用意されています。 たとえば、英語では、重複する一致では、"ababab" というテキストのパターン "abab" の結果 0 と 2 が生成され、相互に排他的な一致では 0 の結果のみが生成されます。
UTS #10 Unicode 照合順序アルゴリズム、具体的には ElementComparisonType 値で説明されているように、"非対称検索" を実装するためのオプションも用意されています。
照合の実行中はコレーター属性が考慮されますが、属性を設定して取得するための API はありません。 これらの属性は、 #getCollator からコレーターを取得し、 RuleBasedCollatorの API を使用して設定できます。 最後に、新しいコレーター属性に StringSearch を更新するには、 #reset を呼び出す必要があります。
制限: <br> 現在、クラス == 0 を結合する文字の前に、クラス > 0 を結合する文字で構成される複合文字はありません。 ただし、このような文字が将来存在する場合、 StringSearch はオプション 1 の結果を保証しません。
このクラスのインスタンスを使用してテキスト検索を実装する方法の詳細と例については、 SearchIterator ドキュメントを参照してください。
StringSearchはサブクラス化されないことに注意してください。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
| 名前 | 説明 |
|---|---|
| StringSearch(String, ICharacterIterator, Locale) |
言語固有の規則を使用するように反復子を初期化し、引数ロケールで定義されている反復子規則を中断して、引数ターゲット テキスト内の引数パターンを検索します。 |
| StringSearch(String, ICharacterIterator, RuleBasedCollator, BreakIterator) |
引数コレーターで定義されている言語固有の規則を使用して、引数ターゲット テキスト内の引数パターンを検索するように反復子を初期化します。 |
| StringSearch(String, ICharacterIterator, RuleBasedCollator) |
引数コレーターで定義されている言語固有の規則を使用して、引数ターゲット テキスト内の引数パターンを検索するように反復子を初期化します。 |
| StringSearch(String, ICharacterIterator, ULocale) |
言語固有の規則を使用するように反復子を初期化し、引数ロケールで定義されている反復子規則を中断して、引数ターゲット テキスト内の引数パターンを検索します。 |
| StringSearch(String, String) |
既定のロケールで定義されている言語固有の規則と区切り反復子規則を使用して、引数ターゲット テキスト内の引数パターンを検索するように反復子を初期化します。 |
フィールド
| 名前 | 説明 |
|---|---|
| Done |
DONE は、すべての有効な一致が返された後に previous() と next() によって返され、一致がまったくない場合は first() と last() によって返されます。 (継承元 SearchIterator) |
プロパティ
| 名前 | 説明 |
|---|---|
| BreakIterator |
一致が検出されるインデックスを制限するために使用される BreakIterator を返します。 または、一致が検出されるポイントを制限するために使用される BreakIterator を設定します。 (継承元 SearchIterator) |
| Canonical |
正規一致 (クラスドキュメントで説明されているようにオプション 1) が設定されているかどうかを判断します。 または、正規一致モードを設定します。 |
| Class |
この |
| Collator |
言語規則に使用される |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| Index |
追加する |
| JniIdentityHashCode |
相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。 (継承元 Object) |
| JniPeerMembers |
|
| MatchedText |
|
| MatchLength |
検索パターンに一致する文字列内のテキストの長さを返します。 (継承元 SearchIterator) |
| MatchStart |
検索されたテキスト文字列内の一致するインデックスを返します。 (継承元 SearchIterator) |
| Overlapping |
重複するプロパティが設定されている場合は true を返します。 または、重複する一致が返されるかどうかを決定します。 (継承元 SearchIterator) |
| Pattern |
|
| PeerReference |
このJava ピアの JNI オブジェクト参照を取得します。 (継承元 Object) |
| Target |
検索する文字列テキストを返します。 または、検索対象のテキストを設定します。 (継承元 SearchIterator) |
| TargetText |
検索対象のテキスト。 (継承元 SearchIterator) |
| ThresholdClass |
|
| ThresholdType |
|
メソッド
| 名前 | 説明 |
|---|---|
| Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
| Dispose() |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| Dispose(Boolean) |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
| First() |
文字列テキストが検索パターンと一致する最初のインデックスを返します。 (継承元 SearchIterator) |
| Following(Int32) |
文字列テキストが検索パターンと一致する |
| GetElementComparisonType() |
|
| GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
| HandleNext(Int32) |
ターゲット テキストで次の一致を見つけるためのメカニズムを提供するためにオーバーライドをサブクラス化する抽象メソッド。 (継承元 SearchIterator) |
| HandlePrevious(Int32) |
サブクラス化する抽象メソッドは、ターゲット テキスト内の前の一致を見つけるためのメカニズムを提供するためにオーバーライドします。 (継承元 SearchIterator) |
| JavaFinalize() |
オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
| Last() |
検索パターンと一致するターゲット テキスト内の最後のインデックスを返します。 (継承元 SearchIterator) |
| Next() |
テキストが検索パターンと一致する次のポイントのインデックスを返します。現在の位置から開始します。反復子は、現在のインデックス ( |
| Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
| NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
| Preceding(Int32) |
文字列テキストが検索パターンと一致する |
| Previous() |
文字列テキストが現在の位置から始まる検索パターンと一致する前のポイントのインデックスを返します。 (継承元 SearchIterator) |
| Reset() |
イテレーションをリセットします。 (継承元 SearchIterator) |
| SetElementComparisonType(SearchIterator+ElementComparisonType) |
|
| SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
| SetIndex(Int32) |
次の検索を開始するターゲット テキスト内の位置を設定します。 (継承元 SearchIterator) |
| SetMatchLength(Int32) |
ターゲット テキスト内の最新の一致の長さを設定します。 (継承元 SearchIterator) |
| ToArray<T>() |
このJava配列ラッパーからマネージド配列を作成します。 (継承元 Object) |
| ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
| UnregisterFromRuntime() |
相互運用ランタイムからこのJava ピアの登録を解除します。 (継承元 Object) |
| Wait() |
現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。 (継承元 Object) |
| Wait(Int64, Int32) |
現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。 (継承元 Object) |
| Wait(Int64) |
現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| IJavaPeerable.Disposed() |
このマネージド ピアが破棄されたことを相互運用ランタイムに通知します。 (継承元 Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
別のマネージド参照によって保持されない限り、このJavaピアを解放します。 (継承元 Object) |
| IJavaPeerable.Finalized() |
このマネージド ピアが終了したことを相互運用ランタイムに通知します。 (継承元 Object) |
| IJavaPeerable.JniManagedPeerState |
このマネージド ピアとその JNI 参照の間の関係を記述する状態を取得します。 (継承元 Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
このJava ピアの相互運用 ID ハッシュ コードを設定します。 (継承元 Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
このJava ピアのマネージド ピアと JNI ピアの状態を設定します。 (継承元 Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
このマネージド ピアで使用される JNI オブジェクト参照を設定します。 (継承元 Object) |
拡張メソッド
| 名前 | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|