首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于String的split有关问题

2012-01-30 
关于String的split问题我需要写个程序把英文的文章先按 . 分割成句子(String 数组) 然后再按 空格 把句子

关于String的split问题
我需要写个程序把英文的文章先按 . 分割成句子(String 数组) 然后再按 空格 把句子分割成单词
用split("//.")发现确实按照.进行了分割,但是每个句子中的所有空格也都没有了。这个应该怎么解决呢?

另外,split的分割关键词好像是依赖正则表达式来实现的,那么我如果希望有多个分割条件应该怎么写这个表达式呢?

[解决办法]

探讨

引用:

3.14159是不是两个句子还是一个词?


这个情况确实会造成问题,包括各种网址都会出这种问题。
但是现在只假定句子里没有. 都是以.结尾

因为我需要把每句句首的大写字母转成小写字母,但是对一些特殊大写词汇要保留
所以我想不出有什么其他办法能确定这个词是句首的词

[解决办法]
什么叫特殊的词?

分割句子使用 java.text.BreakIterator.getSentenceInstance(Locale.ENGLISH)
[解决办法]
Java code
/* *  * 分割英语短文 *  */public class SplitEnglish {             public static void main(String[] args){                           String str = "I love you.but you love her.wu wu wu";  //要分割的短文                  String[] splitSentence = str.split("\\.");          //分割短文成句子数组                  List<String> list = new ArrayList<String>();       //定义一个用于存储单词集合                  int i = 0;                                        //计数器                   while(splitSentence.length > i){                  //循环分割后的句子数组                          String[] splitWorld = splitSentence[i].split(" ");  //分割句子成单词数组                          for(int j=0; j<splitWorld.length; j++){           //遍历得到单词数组中的每一个单词                 list.add(splitWorld[j]);                      //添加到单词集合中去             }                           i++;                                              //计数器递增                           }                  /*          * 打印单词集合中所有的单词          */         for(int j=0; j <list.size(); j++){             System.out.print(list.get(j) + " ");         }     }} 

热点排行