SearchIterator 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
SearchIterator 是一個抽象基底類別,提供方法在文字字串中搜尋模式。
[Android.Runtime.Register("android/icu/text/SearchIterator", ApiSince=24, DoNotGenerateAcw=true)]
public abstract class SearchIterator : Java.Lang.Object
[<Android.Runtime.Register("android/icu/text/SearchIterator", ApiSince=24, DoNotGenerateAcw=true)>]
type SearchIterator = class
inherit Object
- 繼承
- 衍生
- 屬性
備註
SearchIterator 是一個抽象基底類別,提供方法在文字字串中搜尋模式。 實例 會 SearchIterator 維持當前位置並掃描目標文字,回傳索引、模式匹配及每次匹配的長度。
SearchIterator 定義了文字搜尋的協議。 子類別提供了各種搜尋演算法的具體實作。 例如, StringSearch 根據物件中定義 RuleBasedCollator 的比較規則,實作語言敏感的模式匹配。
其他搜尋選項包括使用分開迭代器(BreakIterator)來限制匹配的偵測點。
SearchIterator 提供一個類似其他文字迭代類別(如 BreakIterator)的 API。 利用此類別,可以輕鬆掃描文字,尋找所有特定模式的出現。 以下範例使用物件 StringSearch 來尋找目標字串中所有「fox」的實例。 其他子類 SearchIterator 也可以以相同方式使用。
<code>
String target = "The quick brown fox jumped over the lazy fox";
String pattern = "fox";
SearchIterator iter = new StringSearch(pattern, target);
for (int pos = iter.first(); pos != SearchIterator.DONE;
pos = iter.next()) {
System.out.println("Found match at " + pos +
", length is " + iter.getMatchLength());
}
</code>
的 android.icu.text.SearchIteratorJava 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
建構函式
| 名稱 | Description |
|---|---|
| SearchIterator(ICharacterIterator, BreakIterator) |
受保護的建構子供子類別使用。 |
| SearchIterator(IntPtr, JniHandleOwnership) |
|
欄位
| 名稱 | Description |
|---|---|
| Done |
DONE 由 previous() 和 next() 在所有有效匹配回傳後回傳,若完全沒有匹配則由 first() 和 last() 回傳。 |
屬性
| 名稱 | Description |
|---|---|
| BreakIterator |
回傳用於限制偵測匹配的索引的 BreakIterator。 -或- 設定 BreakIterator,用來限制匹配偵測的點。 |
| Class |
傳回這個 |
| Handle |
基礎Android實例的句柄。 (繼承來源 Object) |
| Index |
回傳正在搜尋的文本中的當前索引。 |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
|
| JniPeerMembers |
|
| MatchedText |
回傳與最近呼叫 |
| MatchLength |
回傳與搜尋模式相符的字串長度。 |
| MatchStart |
回傳搜尋中文字串的匹配索引。 |
| Overlapping |
如果重疊屬性已被設定,則回傳真。 -或- 決定是否回傳重疊的配對。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| Target |
回傳要搜尋的字串文字。 -或- 設定目標文字要搜尋。 |
| TargetText |
搜尋目標文字。 |
| ThresholdClass |
|
| ThresholdType |
|
方法
| 名稱 | Description |
|---|---|
| Clone() |
建立並傳回這個 對象的複本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
|
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
|
| Equals(Object) |
|
| Equals(Object) |
指出其他物件是否「等於」這個物件。 (繼承來源 Object) |
| First() |
回傳第一個索引,該索引字串文字與搜尋模式相符。 |
| Following(Int32) |
回傳第一個索引,該索引大小於或大於 |
| GetElementComparisonType() |
回傳 collation element 比較型態。 |
| GetHashCode() |
傳回此物件的雜湊碼值。 (繼承來源 Object) |
| HandleNext(Int32) |
抽象方法,透過覆寫子類來提供尋找目標文本下一個匹配的機制。 |
| HandlePrevious(Int32) |
抽象方法,透過覆寫子類別提供尋找目標文本中先前匹配的機制。 |
| JavaFinalize() |
已淘汰.
當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。 (繼承來源 Object) |
| Last() |
回傳目標文本中與搜尋模式相符的最後索引。 |
| Next() |
回傳下一個文本與搜尋模式相符的索引,從當前位置開始。迭代器會調整為其當前索引(由 回傳的 |
| Notify() |
喚醒正在等候此物件監視器的單一線程。 (繼承來源 Object) |
| NotifyAll() |
喚醒正在等候此物件監視器的所有線程。 (繼承來源 Object) |
| Preceding(Int32) |
回傳第一個索引,該 |
| Previous() |
回傳字串文字與搜尋模式相符的前一個點的索引,從當前位置開始。 |
| Reset() |
重置迭代。 |
| SetElementComparisonType(SearchIterator+ElementComparisonType) |
設定排序元素比較型別。 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetIndex(Int32) |
設定目標文字中下一次搜尋將開始的位置。 |
| SetMatchLength(Int32) |
設定目標文字中最近一次匹配的長度。 |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
|
| 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) |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
|
| IJavaPeerable.Finalized() |
|
| IJavaPeerable.JniObjectReferenceControlBlock |
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
|
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |