Share via


BreakIterator 클래스

정의

클래스는 BreakIterator 텍스트에서 경계 위치를 찾는 메서드를 구현합니다.

[Android.Runtime.Register("java/text/BreakIterator", DoNotGenerateAcw=true)]
public abstract class BreakIterator : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.ICloneable
[<Android.Runtime.Register("java/text/BreakIterator", DoNotGenerateAcw=true)>]
type BreakIterator = class
    inherit Object
    interface ICloneable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
상속
BreakIterator
특성
구현

설명

클래스는 BreakIterator 텍스트에서 경계 위치를 찾는 메서드를 구현합니다. 인스턴스 BreakIterator 는 현재 위치를 유지하고 경계가 발생하는 문자의 인덱스를 반환하는 텍스트를 검색합니다. 내부적으로 는 BreakIterator 를 사용하여 CharacterIterator텍스트를 검사하므로 해당 프로토콜을 구현하는 개체가 보유한 텍스트를 검색할 수 있습니다. 는 StringCharacterIterator 에 전달된 개체를 검사 String 하는 setText데 사용됩니다. 에 전달된 후에는 CharacterIterator 개체를 setText수정해서는 안 됩니다. 개체의 텍스트가 CharacterIterator 변경되면 호출자는 를 호출setText하여 다시 설정 BreakIterator 해야 합니다.

이 클래스에서 제공하는 팩터리 메서드를 사용하여 다양한 유형의 중단 반복기의 인스턴스를 만듭니다. 특히 , , getLineInstancegetCharacterInstancegetSentenceInstance를 사용하여 getWordInstance단어, 줄, 문장 및 문자 경계 분석을 각각 수행하는 를 만듭니BreakIterator다. 단일 BreakIterator 항목은 하나의 단위(단어, 줄, 문장 등)에서만 작동할 수 있습니다. 수행하려는 각 단위 경계 분석에 대해 다른 반복기를 사용해야 합니다.

"선"> 선 경계 분석은 줄 바꿈 시 텍스트 문자열이 끊어질 수 있는 위치를 결정합니다. 메커니즘은 문장 부호 및 하이픈을 넣은 단어를 올바르게 처리합니다. 실제 줄 바꿈은 사용 가능한 선 너비도 고려해야 하며 상위 수준 소프트웨어에서 처리됩니다.

"문장"> 문장 경계 분석을 사용하면 숫자 및 약어 내의 마침표를 올바르게 해석하고 따옴표 및 괄호와 같은 후행 문장 부호를 선택할 수 있습니다.

"word"> Word 경계 분석은 검색 및 바꾸기 함수뿐만 아니라 사용자가 두 번 클릭으로 단어를 선택할 수 있도록 하는 텍스트 편집 애플리케이션 내에서 사용됩니다. Word 선택하면 단어 내 및 다음 단어의 문장 부호를 올바르게 해석할 수 있습니다. 단어의 일부가 아닌 문자(예: 기호 또는 문장 부호)는 양쪽에 단어 구분 기호가 있습니다.

"character"> 문자 경계 분석을 사용하면 사용자가 텍스트 문자열을 통해 커서를 이동할 때 예상대로 문자와 상호 작용할 수 있습니다. 문자 경계 분석은 문자가 저장되는 방식에 관계없이 문자 문자열을 통해 올바른 탐색을 제공합니다. 반환되는 경계는 보조 문자, 문자 시퀀스 결합 또는 합자 클러스터의 경계일 수 있습니다. 예를 들어 악센트가 있는 문자는 기본 문자와 음색 표시로 저장될 수 있습니다. 사용자가 문자로 간주하는 것은 언어마다 다를 수 있습니다.

이 클래스의 팩터리 메서드에서 반환된 인스턴스는 BreakIterator 프로그래밍 언어 텍스트가 아니라 자연어에서만 사용하기 위한 것입니다. 그러나 프로그래밍 언어를 토큰화하는 서브클래스를 정의할 수 있습니다.

<strong>Examples</strong>:

텍스트 경계 만들기 및 사용: <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>

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>

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>

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

</인용구>

마지막 요소 인쇄: <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>

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>

{@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;
            }
            }

BreakIterator.getWordInstance()에서 반환하는 반복기는 반환하는 중단 위치가 반복되는 작업의 시작과 끝을 모두 나타내지 않는다는 측면에서 고유합니다. 즉, 문장 나누기 반복기는 각각 한 문장의 끝과 다음 문장의 시작을 나타내는 나누기를 반환합니다. 단어 분리 반복기를 사용하면 두 경계 사이의 문자가 단어이거나 두 단어 사이의 문장 부호 또는 공백일 수 있습니다. 위의 코드는 간단한 추론을 사용하여 단어의 시작 부분인 경계를 확인합니다. 이 경계와 다음 경계 사이의 문자에 하나 이상의 문자(사전순 문자, CJK 표기법, 한글 음절, 카나 문자 등일 수 있음)가 포함된 경우 이 경계와 다음 경계 사이의 텍스트는 단어입니다. 그렇지 않으면 단어 사이의 재질입니다.) </인용구>

1.1에 추가되었습니다.

에 대한 Java 설명서입니다 java.text.BreakIterator.

이 페이지의 일부는 만들고 공유하며 에 설명된 용어에 따라 사용되는 작업을 기반으로 수정됩니다.

생성자

BreakIterator()

생성자입니다.

BreakIterator(IntPtr, JniHandleOwnership)

JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

필드

Done

DONE은 첫 번째 또는 마지막 텍스트 경계에 도달했을 때 previous(), next(), next(int), preceding(int) 및 following(int)에 의해 반환됩니다.

속성

CharacterInstance

Locale#getDefault() 기본 로캘에 대한 문자 나누기를 위한 새 BreakIterator instance 반환합니다.

Class

Object의 런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
Handle

기본 Android instance 대한 핸들입니다.

(다음에서 상속됨 Object)
JniIdentityHashCode

클래스는 BreakIterator 텍스트에서 경계 위치를 찾는 메서드를 구현합니다.

(다음에서 상속됨 Object)
JniPeerMembers

클래스는 BreakIterator 텍스트에서 경계 위치를 찾는 메서드를 구현합니다.

LineInstance

Locale#getDefault() 기본 로캘의 줄 바꿈에 대한 새 BreakIterator instance 반환합니다.

PeerReference

클래스는 BreakIterator 텍스트에서 경계 위치를 찾는 메서드를 구현합니다.

(다음에서 상속됨 Object)
SentenceInstance

Locale#getDefault() 기본 로캘에 대한 문장 나누기용 새 BreakIterator instance 반환합니다.

Text

CharacterIterator 분석 중인 텍스트를 나타내는 을 반환합니다.

ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

WordInstance

Locale#getDefault() 기본 로캘에 대한 단어 나누기를 위한 새 BreakIterator instance 반환합니다.

메서드

Clone()

이 반복기의 복사본 만들기

Current()

next(), next(int), previous(), first(), last(), following(int) 또는 previousing(int)에서 가장 최근에 반환한 텍스트 경계의 문자 인덱스 를 반환합니다.

Dispose()

클래스는 BreakIterator 텍스트에서 경계 위치를 찾는 메서드를 구현합니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

클래스는 BreakIterator 텍스트에서 경계 위치를 찾는 메서드를 구현합니다.

(다음에서 상속됨 Object)
Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
First()

첫 번째 경계를 반환합니다.

Following(Int32)

지정된 문자 오프셋 다음의 첫 번째 경계를 반환합니다.

GetAvailableLocales()

이 클래스의 메서드가 지역화된 인스턴스를 반환할 수 있는 get*Instance 모든 로캘의 배열을 반환합니다.

GetCharacterInstance(Locale)

지정된 로캘의 문자 나누기를 위한 새 BreakIterator instance 반환합니다.

GetHashCode()

개체의 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
GetLineInstance(Locale)

지정된 로캘의 줄 바꿈에 대한 새 BreakIterator instance 반환합니다.

GetSentenceInstance(Locale)

지정된 로캘의 문장 나누기를 위한 새 BreakIterator instance 반환합니다.

GetWordInstance(Locale)

지정된 로캘의 단어 나누기를 위한 새 BreakIterator instance 반환합니다.

IsBoundary(Int32)

지정된 문자 오프셋이 텍스트 경계인 경우 true를 반환합니다.

JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Last()

마지막 경계를 반환합니다.

Next()

현재 경계 다음의 경계를 반환합니다.

Next(Int32)

현재 경계에서 n번째 경계를 반환합니다.

Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
Preceding(Int32)

지정된 문자 오프셋 앞에 있는 마지막 경계를 반환합니다.

Previous()

현재 경계 앞에 있는 경계를 반환합니다.

SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
SetText(String)

검사할 새 텍스트 문자열을 설정합니다.

ToArray<T>()

클래스는 BreakIterator 텍스트에서 경계 위치를 찾는 메서드를 구현합니다.

(다음에서 상속됨 Object)
ToString()

개체의 문자열 표현을 반환합니다.

(다음에서 상속됨 Object)
UnregisterFromRuntime()

클래스는 BreakIterator 텍스트에서 경계 위치를 찾는 메서드를 구현합니다.

(다음에서 상속됨 Object)
Wait()

현재 스레드가 각성될 때까지 대기하도록 합니다. 일반적으로 <알림을<> 받>거나<<> 중단/em>합니다.

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IJavaPeerable.Disposed()

클래스는 BreakIterator 텍스트에서 경계 위치를 찾는 메서드를 구현합니다.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

클래스는 BreakIterator 텍스트에서 경계 위치를 찾는 메서드를 구현합니다.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

클래스는 BreakIterator 텍스트에서 경계 위치를 찾는 메서드를 구현합니다.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

클래스는 BreakIterator 텍스트에서 경계 위치를 찾는 메서드를 구현합니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

클래스는 BreakIterator 텍스트에서 경계 위치를 찾는 메서드를 구현합니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

클래스는 BreakIterator 텍스트에서 경계 위치를 찾는 메서드를 구현합니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

클래스는 BreakIterator 텍스트에서 경계 위치를 찾는 메서드를 구현합니다.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

클래스는 BreakIterator 텍스트에서 경계 위치를 찾는 메서드를 구현합니다.

GetJniTypeName(IJavaPeerable)

클래스는 BreakIterator 텍스트에서 경계 위치를 찾는 메서드를 구현합니다.

적용 대상