語言

StringSearch 類別

定義

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 確保語言偏心率能被處理,例如德語整理器、characters 與 szlig;若選擇忽略案例,則會匹配 SS。 更多資訊請參閱「加護病房整合設計文件」。

選擇有兩種匹配選項:<br> 設 S' 為文字字串 S 的子串,介於起點與結束點之間 [start, end]。 <br> 一個模式字串 P 在偏移量 [開始、結束] 與文字字串 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.

選項二。 是預設值。

此搜尋的 API 類似於其他文字迭代機制,如 中的 BreakIterator中斷迭代器。 利用這些 API,可以輕鬆掃描文字,尋找該模式的所有出現。 此搜尋迭代器允許透過呼叫 a #reset 後接 a #next 或 #previous來改變方向。 雖然可以不先呼叫 #reset 即可改變方向,但此操作會帶來一定的速度損失。 正向匹配結果將與反向方向的結果匹配

SearchIterator 提供 API 以指定要搜尋文字串中的起始位置,例如 SearchIterator#setIndex setIndex、 和 SearchIterator#preceding precedingSearchIterator#following following。 由於起始位置會依照指定設定,請注意搜尋在某些危險點可能會產生錯誤結果: <ul><li> 位於需要正規化的子字串中間。 <li> 若要找到下一個匹配,該局面不應是第二個需要與前一個字元交換的字元。 反之,若要找到前一個匹配,搜尋位置不應是第一個需要與下一個角色交換的字元。 例如某些泰語和老撾語角色需要交換。 <如果> 找到後續的模式匹配,收縮序列中除第一個位置外的任何位置都會失敗。 反之,若找到前一個模式匹配,則無效起始點將是收縮序列中除最後一個字元外的任何字元。 </ul>

若只希望邏輯斷點處有匹配,則可用 A BreakIterator 鍵。 使用 a BreakIterator 只會得到完全符合 的邊界 BreakIterator的結果。 例如,若使用字元切斷迭代器,字串「\u00e9」中不會找到模式「e」。

提供選項以處理重疊比賽。 例如在英文中,重疊匹配會產生「abab」模式的結果 0 和 2,而互斥的匹配只會得到 0。

同時也提供實現「非對稱搜尋」的選項,如 UTS #10 Unicode 排序演算法中所述,特別是 ElementComparisonType 值。

雖然在執行配對時會考慮彙整屬性,但這裡沒有設定和取得屬性的 API。 這些屬性可以透過從 取得整理器 #getCollator 並使用 API RuleBasedCollator來設定。 最後,要更新 StringSearch 到新的整理者屬性, #reset 必須呼叫。

限制: <br> 目前沒有合成字元由結合類別大於 0 的角色,接著是合併類別 == 0。 然而,如果未來有這樣的角色, StringSearch 並不保證選項一的結果。

請參閱 SearchIterator 文件中有關如何使用此類別實例實作文字搜尋的資訊與範例。

注意, StringSearch 不應該被子職業化。

Java 文件 android.icu.text.StringSearch。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
StringSearch(String, ICharacterIterator, Locale)

初始化迭代器,使其使用語言特定的規則,並破壞參數區域中定義的迭代規則,以在參數目標文本中搜尋參數模式。

StringSearch(String, ICharacterIterator, RuleBasedCollator, BreakIterator)

初始化迭代器,使其使用參數整理器中定義的語言特定規則,在參數目標文本中搜尋參數模式。

StringSearch(String, ICharacterIterator, RuleBasedCollator)

初始化迭代器,使其使用參數整理器中定義的語言特定規則,在參數目標文本中搜尋參數模式。

StringSearch(String, ICharacterIterator, ULocale)

初始化迭代器,使其使用語言特定的規則,並破壞參數區域中定義的迭代規則,以在參數目標文本中搜尋參數模式。

StringSearch(String, String)

初始化迭代器,使其使用語言專屬規則,並破壞預設區域中定義的迭代規則,以在參數目標文本中搜尋參數模式。

欄位

名稱 Description
Done

DONE 由 previous() 和 next() 在所有有效匹配回傳後回傳,若完全沒有匹配則由 first() 和 last() 回傳。

(繼承來源 SearchIterator)

屬性

名稱 Description
BreakIterator

回傳用於限制偵測匹配的索引的 BreakIterator。 -或- 設定 BreakIterator,用來限制匹配偵測的點。

(繼承來源 SearchIterator)
Canonical

決定是否設定典範匹配(選項1,如類別文件所述)。 -或- 設定標準配對模式。

Class

回傳此 Object的執行時類別。

(繼承來源 Object)
Collator

語言規則會被 RuleBasedCollator 用。 -或- 設定 用於 RuleBasedCollator 特定語言的搜尋。

Handle

底層 Android 實例的帳號。

(繼承來源 Object)
Index

回傳正在搜尋的文本中的當前索引。

JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

StringSearch 是 SearchIterator 根據物件中定義的 RuleBasedCollator 比較規則,提供語言敏感的文字搜尋。

(繼承來源 JavaObject)
JniPeerMembers

StringSearch 是 SearchIterator 根據物件中定義的 RuleBasedCollator 比較規則,提供語言敏感的文字搜尋。

MatchedText

回傳與最近呼叫 #first、 #next、 #previous#last、 或 相符的文字。

(繼承來源 SearchIterator)
MatchLength

回傳與搜尋模式相符的字串長度。

(繼承來源 SearchIterator)
MatchStart

回傳搜尋中文字串的匹配索引。

(繼承來源 SearchIterator)
Overlapping

如果重疊屬性已被設定,則回傳真。 -或- 決定是否回傳重疊的配對。

(繼承來源 SearchIterator)
Pattern

回傳正在搜尋的模式 StringSearch 。 -或者- 設定搜尋模式。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
Target

回傳要搜尋的字串文字。 -或- 設定目標文字要搜尋。

(繼承來源 SearchIterator)
TargetText

搜尋目標文字。

(繼承來源 SearchIterator)
ThresholdClass

StringSearch 是 SearchIterator 根據物件中定義的 RuleBasedCollator 比較規則,提供語言敏感的文字搜尋。

(繼承來源 SearchIterator)
ThresholdType

StringSearch 是 SearchIterator 根據物件中定義的 RuleBasedCollator 比較規則,提供語言敏感的文字搜尋。

(繼承來源 SearchIterator)

方法

名稱 Description
Clone()

建立並回傳此物件的副本。

(繼承來源 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

StringSearch 是 SearchIterator 根據物件中定義的 RuleBasedCollator 比較規則,提供語言敏感的文字搜尋。

(繼承來源 JavaObject)
Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

StringSearch 是 SearchIterator 根據物件中定義的 RuleBasedCollator 比較規則,提供語言敏感的文字搜尋。

(繼承來源 JavaObject)
Equals(Object)

StringSearch 是 SearchIterator 根據物件中定義的 RuleBasedCollator 比較規則,提供語言敏感的文字搜尋。

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
First()

回傳第一個索引,該索引字串文字與搜尋模式相符。

(繼承來源 SearchIterator)
Following(Int32)

回傳第一個索引,該索引大小於或大於 position 字串文字與搜尋模式相符的位置。

(繼承來源 SearchIterator)
GetElementComparisonType()

回傳 collation element 比較型態。

(繼承來源 SearchIterator)
GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
HandleNext(Int32)

抽象方法,透過覆寫子類來提供尋找目標文本下一個匹配的機制。

(繼承來源 SearchIterator)
HandlePrevious(Int32)

抽象方法,透過覆寫子類別提供尋找目標文本中先前匹配的機制。

(繼承來源 SearchIterator)
JavaFinalize()
已淘汰.

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
Last()

回傳目標文本中與搜尋模式相符的最後索引。

(繼承來源 SearchIterator)
Next()

回傳下一個文本與搜尋模式相符的索引,從當前位置開始。迭代器會調整為其當前索引(由 回傳的 #getIndex)即為匹配位置(若已找到)。

(繼承來源 SearchIterator)
Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
Preceding(Int32)

回傳第一個索引,該 position 索引小於字串文字與搜尋模式相符的位置。

(繼承來源 SearchIterator)
Previous()

回傳字串文字與搜尋模式相符的前一個點的索引,從當前位置開始。

(繼承來源 SearchIterator)
Reset()

重置迭代。

(繼承來源 SearchIterator)
SetElementComparisonType(SearchIterator+ElementComparisonType)

設定排序元素比較型別。

(繼承來源 SearchIterator)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetIndex(Int32)

設定目標文字中下一次搜尋將開始的位置。

(繼承來源 SearchIterator)
SetMatchLength(Int32)

設定目標文字中最近一次匹配的長度。

(繼承來源 SearchIterator)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

StringSearch 是 SearchIterator 根據物件中定義的 RuleBasedCollator 比較規則,提供語言敏感的文字搜尋。

(繼承來源 JavaObject)
ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

回傳物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

StringSearch 是 SearchIterator 根據物件中定義的 RuleBasedCollator 比較規則,提供語言敏感的文字搜尋。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

StringSearch 是 SearchIterator 根據物件中定義的 RuleBasedCollator 比較規則,提供語言敏感的文字搜尋。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

StringSearch 是 SearchIterator 根據物件中定義的 RuleBasedCollator 比較規則,提供語言敏感的文字搜尋。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

StringSearch 是 SearchIterator 根據物件中定義的 RuleBasedCollator 比較規則,提供語言敏感的文字搜尋。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

StringSearch 是 SearchIterator 根據物件中定義的 RuleBasedCollator 比較規則,提供語言敏感的文字搜尋。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

StringSearch 是 SearchIterator 根據物件中定義的 RuleBasedCollator 比較規則,提供語言敏感的文字搜尋。

(繼承來源 JavaObject)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

StringSearch 是 SearchIterator 根據物件中定義的 RuleBasedCollator 比較規則,提供語言敏感的文字搜尋。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於