Как разбить текст на предложения

Я пытаюсь разбить абзац на предложения. Вот мой код на данный момент:

import java.util.*;

public class StringSplit {
 public static void main(String args[]) throws Exception{
     String testString = "The outcome of the negotiations is vital, because the current tax levels signed into law by President George W. Bush expire on Dec. 31. Unless Congress acts, tax rates on virtually all Americans who pay income taxes will rise on Jan. 1. That could affect economic growth and even holiday sales.";
     String[] sentences = testString.split("[\\.\\!\\?]");
     for (int i=0;i<sentences.length;i++){  
         System.out.println(i);
      System.out.println(sentences[i]);  
     }  
 }
}

Были обнаружены две проблемы:

  1. Код разбивается каждый раз, когда доходит до символа точки ("."), Даже если на самом деле это одно предложение. Как мне этого избежать?
  2. Каждое разделенное предложение начинается с пробела. Как удалить избыточное пространство?
7
задан james.garriss 11 January 2016 в 14:27
поделиться