BreakIterator Kelas

Definisi

Kelas menerapkan BreakIterator metode untuk menemukan lokasi batas dalam teks.

[Android.Runtime.Register("java/text/BreakIterator", DoNotGenerateAcw=true)]
public abstract class BreakIterator : Java.Lang.Object, IDisposable, Java.Lang.ICloneable
[<Android.Runtime.Register("java/text/BreakIterator", DoNotGenerateAcw=true)>]
type BreakIterator = class
    inherit Object
    interface ICloneable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Warisan
BreakIterator
Atribut
Penerapan

Keterangan

Kelas menerapkan BreakIterator metode untuk menemukan lokasi batas dalam teks. Instans BreakIterator mempertahankan posisi saat ini dan memindai teks yang mengembalikan indeks karakter tempat batas terjadi. Secara internal, BreakIterator memindai teks menggunakan CharacterIterator, dan dengan demikian dapat memindai teks yang disimpan oleh objek apa pun yang menerapkan protokol tersebut. StringCharacterIterator digunakan untuk memindai String objek yang diteruskan ke setText. Objek CharacterIterator tidak boleh dimodifikasi setelah diteruskan ke setText. Jika teks dalam CharacterIterator objek diubah, pemanggil harus mengatur ulang BreakIterator dengan memanggil setText.

Anda menggunakan metode pabrik yang disediakan oleh kelas ini untuk membuat instans berbagai jenis iterator pemutusan. Secara khusus, gunakan getWordInstance, getLineInstance, getSentenceInstance, dan getCharacterInstance untuk membuat BreakIteratoryang melakukan analisis batas kata, baris, kalimat, dan karakter masing-masing. Satu BreakIterator hanya dapat bekerja pada satu unit (kata, baris, kalimat, dan sebagainya). Anda harus menggunakan iterator yang berbeda untuk setiap analisis batas unit yang ingin Anda lakukan.

Analisis batas garis "baris"> menentukan di mana string teks dapat dipecah saat pembungkusan garis. Mekanisme menangani tanda baca dan kata-kata terpencil dengan benar. Pemisah baris aktual juga perlu mempertimbangkan lebar garis yang tersedia dan ditangani oleh perangkat lunak tingkat yang lebih tinggi.

Analisis batas kalimat "kalimat"> memungkinkan pemilihan dengan interpretasi periode yang benar dalam angka dan singkatan, dan tanda baca berikutnya seperti tanda kutip dan tanda kurung.

Analisis batas Word "word"> digunakan oleh fungsi pencarian dan penggantian, serta dalam aplikasi pengeditan teks yang memungkinkan pengguna untuk memilih kata-kata dengan klik ganda. Word pilihan menyediakan interpretasi tanda baca yang benar dalam dan kata-kata berikut. Karakter yang bukan bagian dari kata, seperti simbol atau tanda baca, memiliki pemisah kata di kedua sisi.

Analisis batas karakter "karakter"> memungkinkan pengguna berinteraksi dengan karakter seperti yang mereka harapkan, misalnya, saat memindahkan kursor melalui string teks. Analisis batas karakter menyediakan navigasi yang benar melalui string karakter, terlepas dari bagaimana karakter disimpan. Batas yang dikembalikan mungkin berupa karakter tambahan, menggabungkan urutan karakter, atau kluster ligatur. Misalnya, karakter beraksen mungkin disimpan sebagai karakter dasar dan tanda diakritik. Apa yang dianggap pengguna sebagai karakter dapat berbeda antar bahasa.

Instans BreakIterator yang dikembalikan oleh metode pabrik kelas ini dimaksudkan untuk digunakan hanya dengan bahasa alami, bukan untuk teks bahasa pemrograman. Namun dimungkinkan untuk menentukan subkelas yang membuat token bahasa pemrograman.

< >Contoh kuat</kuat>:

Membuat dan menggunakan batas teks: <blockquote>

public static void main(String args[]) {
                 if (args.length == 1) {
                     String stringToExamine = args[0];
                     //print each word in order
                     BreakIterator boundary = BreakIterator.getWordInstance();
                     boundary.setText(stringToExamine);
                     printEachForward(boundary, stringToExamine);
                     //print each sentence in reverse order
                     boundary = BreakIterator.getSentenceInstance(Locale.US);
                     boundary.setText(stringToExamine);
                     printEachBackward(boundary, stringToExamine);
                     printFirst(boundary, stringToExamine);
                     printLast(boundary, stringToExamine);
                 }
            }

</blockquote>

Cetak setiap elemen secara berurutan: <blockquote>

public static void printEachForward(BreakIterator boundary, String source) {
                int start = boundary.first();
                for (int end = boundary.next();
                     end != BreakIterator.DONE;
                     start = end, end = boundary.next()) {
                     System.out.println(source.substring(start,end));
                }
            }

</blockquote>

Cetak setiap elemen dalam urutan terbalik: <blockquote>

public static void printEachBackward(BreakIterator boundary, String source) {
                int end = boundary.last();
                for (int start = boundary.previous();
                     start != BreakIterator.DONE;
                     end = start, start = boundary.previous()) {
                    System.out.println(source.substring(start,end));
                }
            }

</blockquote>

Cetak elemen pertama: <blockquote>

public static void printFirst(BreakIterator boundary, String source) {
                int start = boundary.first();
                int end = boundary.next();
                System.out.println(source.substring(start,end));
            }

</blockquote>

Cetak elemen terakhir: <blockquote>

public static void printLast(BreakIterator boundary, String source) {
                int end = boundary.last();
                int start = boundary.previous();
                System.out.println(source.substring(start,end));
            }

</blockquote>

Cetak elemen pada posisi yang ditentukan: <blockquote>

public static void printAt(BreakIterator boundary, int pos, String source) {
                int end = boundary.following(pos);
                int start = boundary.previous();
                System.out.println(source.substring(start,end));
            }

</blockquote>

Temukan kata berikutnya: <blockquote>

{@code
            public static int nextWordStartAfter(int pos, String text) {
                BreakIterator wb = BreakIterator.getWordInstance();
                wb.setText(text);
                int last = wb.following(pos);
                int current = wb.next();
                while (current != BreakIterator.DONE) {
                    for (int p = last; p < current; p++) {
                        if (Character.isLetter(text.codePointAt(p)))
                            return last;
                    }
                    last = current;
                    current = wb.next();
                }
                return BreakIterator.DONE;
            }
            }

(Iterator yang dikembalikan oleh BreakIterator.getWordInstance() unik karena posisi jeda yang dikembalikannya tidak mewakili awal dan akhir dari hal yang diulang. Artinya, iterator pemutus kalimat mengembalikan pemutusan yang masing-masing mewakili akhir dari satu kalimat dan awal kalimat berikutnya. Dengan iterator pemecahan kata, karakter di antara dua batas mungkin berupa kata, atau mungkin tanda baca atau spasi putih di antara dua kata. Kode di atas menggunakan heuristik sederhana untuk menentukan batas mana yang merupakan awal kata: Jika karakter antara batas ini dan batas berikutnya mencakup setidaknya satu huruf (ini bisa menjadi huruf alfabet, ideograf CJK, suku kata Hangul, karakter Kana, dll.), maka teks antara batas ini dan yang berikutnya adalah kata; jika tidak, itu adalah materi antara kata-kata.) </blockquote>

Ditambahkan dalam 1.1.

Java dokumentasi untuk java.text.BreakIterator.

Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.

Konstruktor

Nama Deskripsi
BreakIterator()

Pembangun.

BreakIterator(IntPtr, JniHandleOwnership)

Konstruktor yang digunakan saat membuat representasi terkelola objek JNI; dipanggil oleh runtime.

Bidang

Nama Deskripsi
Done

DONE dikembalikan oleh previous(), next(), next(int), preceding(int) dan following(int) ketika batas teks pertama atau terakhir telah tercapai.

Properti

Nama Deskripsi
CharacterInstance

Mengembalikan instans baru BreakIterator untuk pemisah karakter untuk lokal default Locale#getDefault().

Class

Mengembalikan kelas runtime dari .Object

(Diperoleh dari Object)
Handle

Handel ke instans Android yang mendasar.

(Diperoleh dari Object)
JniIdentityHashCode

Mendapatkan kode hash identitas yang ditetapkan ke Java peer ini oleh runtime interop.

(Diperoleh dari Object)
JniManagedPeerState

Kelas menerapkan BreakIterator metode untuk menemukan lokasi batas dalam teks.

(Diperoleh dari JavaObject)
JniPeerMembers

Kelas menerapkan BreakIterator metode untuk menemukan lokasi batas dalam teks.

LineInstance

Mengembalikan instans baru BreakIterator untuk pemisah baris untuk lokal default Locale#getDefault().

PeerReference

Mendapatkan referensi objek JNI untuk peer Java ini.

(Diperoleh dari Object)
SentenceInstance

Mengembalikan instans baru BreakIterator untuk pemutusan kalimat untuk lokal default Locale#getDefault().

Text

Mengembalikan yang CharacterIterator mewakili teks yang sedang dianalisis.

ThresholdClass

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

ThresholdType

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

WordInstance

Mengembalikan instans baru BreakIterator untuk pemisah kata untuk lokal default Locale#getDefault().

Metode

Nama Deskripsi
Clone()

Buat salinan iterator ini

Construct(JniObjectReference, JniObjectReferenceOptions)

Kelas menerapkan BreakIterator metode untuk menemukan lokasi batas dalam teks.

(Diperoleh dari JavaObject)
Current()

Mengembalikan indeks karakter dari batas teks yang terakhir dikembalikan oleh next(), next(int), previous(), first(), last(), following(int) atau preceding(int).

Dispose()

Merilis sumber daya yang dipegang oleh rekan Java ini.

(Diperoleh dari Object)
Dispose(Boolean)

Merilis sumber daya yang dipegang oleh rekan Java ini.

(Diperoleh dari Object)
DisposeUnlessReferenced()

Kelas menerapkan BreakIterator metode untuk menemukan lokasi batas dalam teks.

(Diperoleh dari JavaObject)
Equals(Object)

Kelas menerapkan BreakIterator metode untuk menemukan lokasi batas dalam teks.

(Diperoleh dari JavaObject)
Equals(Object)

Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini.

(Diperoleh dari Object)
First()

Mengembalikan batas pertama.

Following(Int32)

Mengembalikan batas pertama setelah offset karakter yang ditentukan.

GetAvailableLocales()

Mengembalikan array semua lokal yang get*Instance metode kelas ini dapat mengembalikan instans yang dilokalkan.

GetCharacterInstance(Locale)

Mengembalikan instans baru BreakIterator untuk pemisah karakter untuk lokal tertentu.

GetHashCode()

Mengembalikan nilai kode hash untuk objek .

(Diperoleh dari Object)
GetLineInstance(Locale)

Mengembalikan instans baru BreakIterator untuk pemisah baris untuk lokal tertentu.

GetSentenceInstance(Locale)

Mengembalikan instans baru BreakIterator untuk pemutusan kalimat untuk lokal tertentu.

GetWordInstance(Locale)

Mengembalikan instans baru BreakIterator untuk pemisah kata untuk lokal tertentu.

IsBoundary(Int32)

Mengembalikan true jika offset karakter yang ditentukan adalah batas teks.

JavaFinalize()

Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek.

(Diperoleh dari Object)
Last()

Mengembalikan batas terakhir.

Next()

Mengembalikan batas mengikuti batas saat ini.

Next(Int32)

Mengembalikan batas ke-n dari batas saat ini.

Notify()

Membangunkan satu utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
NotifyAll()

Membangunkan semua utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
Preceding(Int32)

Mengembalikan batas terakhir sebelum offset karakter yang ditentukan.

Previous()

Mengembalikan batas sebelum batas saat ini.

SetHandle(IntPtr, JniHandleOwnership)

Mengatur properti Handle.

(Diperoleh dari Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Kelas menerapkan BreakIterator metode untuk menemukan lokasi batas dalam teks.

(Diperoleh dari JavaObject)
SetText(String)

Atur string teks baru yang akan dipindai.

ToArray<T>()

Membuat array terkelola dari pembungkus array Java ini.

(Diperoleh dari Object)
ToString()

Mengembalikan representasi string objek.

(Diperoleh dari Object)
UnregisterFromRuntime()

Membatalkan pendaftaran peer Java ini dari runtime interop.

(Diperoleh dari Object)
Wait()

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>.

(Diperoleh dari Object)
Wait(Int64, Int32)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah waktu nyata berlalu.

(Diperoleh dari Object)
Wait(Int64)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah waktu nyata berlalu.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IJavaPeerable.Disposed()

Kelas menerapkan BreakIterator metode untuk menemukan lokasi batas dalam teks.

(Diperoleh dari JavaObject)
IJavaPeerable.Finalized()

Kelas menerapkan BreakIterator metode untuk menemukan lokasi batas dalam teks.

(Diperoleh dari JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Kelas menerapkan BreakIterator metode untuk menemukan lokasi batas dalam teks.

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Kelas menerapkan BreakIterator metode untuk menemukan lokasi batas dalam teks.

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Kelas menerapkan BreakIterator metode untuk menemukan lokasi batas dalam teks.

(Diperoleh dari JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Kelas menerapkan BreakIterator metode untuk menemukan lokasi batas dalam teks.

(Diperoleh dari JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Kelas menerapkan BreakIterator metode untuk menemukan lokasi batas dalam teks.

Metode Ekstensi

Nama Deskripsi
GetJniTypeName(IJavaPeerable)

Mendapatkan nama JNI dari jenis instans self.

JavaAs<TResult>(IJavaPeerable)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

JavaCast<TResult>(IJavaObject)

Melakukan konversi jenis yang diperiksa runtime Android.

JavaCast<TResult>(IJavaObject)

Kelas menerapkan BreakIterator metode untuk menemukan lokasi batas dalam teks.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

Berlaku untuk