Кто-нибудь знает библиотеку Java, которая обрабатывает поиск границ предложений? Я думаю, что это будет умная реализация StringTokenizer, которая знает обо всех терминаторах предложений, которые могут использовать языки.
Вот мой опыт работы с BreakIterator:
Используя пример здесь :
У меня есть следующий японский:
今日はパソコンを買った。高性能のマックは早い!とても快適です。
В ascii это выглядит так:
\ufeff\u4eca\u65e5\u306f\u30d1\u30bd\u30b3\u30f3\u3092\u8cb7\u3063\u305f\u3002\u9ad8\u6027\u80fd\u306e\u30de\u30c3\u30af\u306f\u65e9\u3044\uff01\u3068\u3066\u3082\u5feb\u9069\u3067\u3059\u3002
Вот часть этого образца, которую я изменил:
статическое недействительное предложениеExamples () {
Locale currentLocale = new Locale ("ja","JP");
BreakIterator sentenceIterator =
BreakIterator.getSentenceInstance(currentLocale);
String someText = "今日はパソコンを買った。高性能のマックは早い!とても快適です。";
Когда я смотрю на индексы границ, я вижу это:
0|13|24|32
Но эти индексы не соответствуют никаким терминаторам предложений.