2009-09-24 3 views
1

icu::BreakIterator을 사용하여 특정 단어를 찾는 방법을 알고 싶습니다.icu :: BreakIterator에서 중단 유형 찾기

이 될 수 여부하려면 : 예를 들어

나는 다음과 같은 문장이 있습니까? 즉

말씀은 휴식 반복자의 인스턴스가 휴식을 둘 것입니다 ... 질문입니다 :

|로 | |있을 | | 또는 | | 아닙니다 | |에 | | 될 | 그거 | |이다 | | | | 질문 |. |.... |

이제 모든 중단 점 쌍이 실제 단어가되는 것은 아닙니다. 파생 클래스 icu::RuleBasedBreakIterator에서

은 휴식에 대한 어떤 종류의 정보를 반환하는 "getRuleStatus을()"가, 그리고 "(표시된 다음과 같은 점에서 워드의 상태를"/ ")"

제공 |하려면/| be/| 또는/| not/| to/| be /? | |/|// 질문입니다. /. |.. |. |

하지만 ... 모든 규칙은 특정 규칙에 따라 다르기 때문에 이해할 수있는 설명서가 없지만 사전이 사용되는 다른 로케일 및 언어는 어떻게됩니까? 백웨어 반복과 어떻게됩니까?

QT QTextBoundaryFinder : http://qt.nokia.com/doc/4.5/qtextboundaryfinder.html#BoundaryReason-enum처럼 "Begin of Word"또는 "Word of End"정보를 얻을 수있는 방법이 있습니까?

ICU에서 이러한 문제를 어떻게 올바르게 해결해야합니까?

답변

3

ICU documentation을 사용해 보셨습니까? 국제화, 역 반복 및 규칙 (기본값 및 고유 한 사용자 정의 집합 작성 방법)을 포함하여 사용자가 요구하는 모든 것을 설명하는 것으로 보입니다. 또한 코드 스 니펫이 도움이됩니다.

+0

"함수 getRuleStatus()는 발견 된 마지막 중단 위치 앞의 텍스트에 대한 추가 정보를 제공하는 enum을 반환합니다." - 다시 읽은 후 문서를 작성하십시오 ... 그래서 나는이 ansver를 받아들입니다. 그러나 나는이 멤버 함수의 Doxygen 설명에 나타나는 것과 같은 것을 expired 할 것이다. – Artyom

+1

@Artyom : 감사합니다. Doxygen 주석에 대한 귀하의 성명서와 관련하여 나는 그런 종류의 것들에 완전히 의존하지 않을 것입니다. 존재할 때 잘 유지되고 유지 관리가 잘되지만 개발자는 기능이나 버그 수정보다 우선 순위를 정하는 경우가 많습니다. 이상적인 상황이 아닐 경우, 실제 소스 코드를 볼 수있는 경우를 포함하여 모든 형태의 문서를 자유롭게 사용할 수 있습니다. 어쨌든 도움이 되었으면 좋겠습니다. 문서를 다시 읽었을지라도! – Troubadour