首页 > 学院 > 开发设计 > 正文

计算单词数量

2019-11-06 08:03:31
字体:
来源:转载
供稿:网友

                                                                                                       计算单词数量

    这是我在CSND的第一篇博客文章,记录一下我学习java的小小成果。

    package abc;    import java.util.ArrayList;    import java.util.HashMap;    import java.util.Iterator;    import java.util.List;    import java.util.Map;    import java.util.Map.Entry;    import java.util.Set;    import java.util.regex.Matcher;    import java.util.regex.Pattern;    public class LetterCount {       static String str = "this 'is' a good man, so I will say to her, I love you!" +                                        " this so a so man, so I /"will/" say to her, I love you!";       static String rex1 = "[.,;:!@#$%^&*()]";    // 匹配单词尾部出现在标点符号       static String rex2 = "[/"/']";    //匹配单词的引号       public static void main(String[] args) {       String[] str1 = str.split(" "); // 分割整个文本,并把们存储到一个字符串数组中       Map<String,Integer> map = new HashMap<String,Integer>();       List<String> letter = new ArrayList<String>();       Pattern pattern1 = Pattern.compile(rex1);       Pattern pattern2 = Pattern.compile(rex2);       for(int i=0;i<str1.length;i++){           Matcher matcher1 = pattern1.matcher(str1[i].substring(str1[i].length()-1,str1[i].length()));           Matcher matcher2 = pattern2.matcher(str1[i].substring(0,1));           Matcher matcher3 = pattern2.matcher(str1[i].substring(str1[i].length()-1,str1[i].length()));           if(matcher1.matches()){                letter.add(str1[i].substring(0,str1[i].length()-1));  //           }else if(matcher2.matches()&&matcher3.matches()){               letter.add(str1[i].substring(1,str1[i].length()-1));           }else{               letter.add(str1[i].substring(0,str1[i].length()));           }       }       Iterator<String> it = letter.iterator();       while(it.hasNext()){           String key =  (String)it.next();           if(!map.containsKey(key)){               map.put(key, 1);           }else{               map.put(key,map.get(key)+1);           }        }              Set<String> keyset = map.keySet();       Iterator<String> it1 = keyset.iterator();       while(it1.hasNext()){           String key = it1.next();           Integer value = map.get(key);           System.out.PRintln(key +"----->" +value);       }}}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表