关于String的split问题
我需要写个程序把英文的文章先按 . 分割成句子(String 数组) 然后再按 空格 把句子分割成单词
用split("//.")发现确实按照.进行了分割,但是每个句子中的所有空格也都没有了。这个应该怎么解决呢?
另外,split的分割关键词好像是依赖正则表达式来实现的,那么我如果希望有多个分割条件应该怎么写这个表达式呢?
[解决办法]
[解决办法]
什么叫特殊的词?
分割句子使用 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) + " "); } }}