比如一段英文:'Sorry, I can't go out today!'
这么切割成一个一个的单词Sorry I can't go out today.
我显示根据空格split,然后用replaceAll("\\p{P}", "");去掉所有标点符号,
但是can't也变成cant了,有什么更好的方法吗?
解决方案 »
- MyEclipse6.5在本机上运行项目时,连接sql server2000,出现让人蛋疼的问题
- 3 Finger项目开发团队招募志愿者
- cvs 客户端开发 JAVA版
- 请问大虾,如果实现虚拟文件系统,该用什么技术??
- sql server 2000 连接数据库问题,急,在线等
- 问在 J2EE1.3 中配置 EJB 的问题
- 只懂JSP能找到工作吗?
- 数据库中取出来的是乱码---linux+mysql+jsp,
- 如何在局域网中,通过代理访问internet上的smtp服务器?
- 征求毕业设计课题!!!!!来者有分....
- Cannot cast from ActtionForm to addBookForm
- 求教 this.getHibernateTemplate().find()方法
replaceAll("[\\p{P}&&[^']]", "");
.replaceAll("[\\p{Punct}&&[^']]", "");
String s="'Sorry, I can't go out today!'";
//先把开头和结尾的'以及'前面不是字母的以及除了'外的其它标点符号先替换掉,再用空白字符进行分割
String[] sArray=s.replaceAll("^'+|'+$|(?<![A-Za-z])'+|[\\p{Punct}&&[^']]+","").split("\\s+");
System.out.println(sArray.length);
for(String str:sArray)
System.out.println(str);
Matcher m = p.matcher("'Sorry, I can't go out today!'");
StringBuffer sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, "");
}
m.appendTail(sb);
System.out.println(sb.toString());