public class StringUtil {
public static void testReg(){
                  //先去掉标点,再合并空格
Pattern p=Pattern.compile("[(.|,|\"|\\?|!|:)]");//这边增加所有的符号,例如要加一个'则变成[(.|,|\"|\\?|!|:|')],如果是特殊符号要加转换 \
Matcher m=p.matcher("I am a, I am \"Hello\" I. ok? hello! hello: ok.");//这为要整理的字符串
String first=m.replaceAll(" ");
System.out.println(first);
p=Pattern.compile(" {2,}");
m=p.matcher(first);
String second=m.replaceAll(" ");
System.out.println(second);//second就是你要的字符串了

}
public static void main(String [] args){
testReg();
}
}--------------------
没详细测试,有什么bug请指正