java统计字符串单词个数的方法解析

在一些项目中可能需要对一段字符串中的单词进行统计,我在这里写了一个简单的demo,有需要的同学可以拿去看一下。

不说废话了直接贴代码:

实现代码:

/**
   * 统计各个单词出现的次数
   * @param text
   */
  public static void findEnglishNum(String text){
   //找出所有的单词
   String[] array = {".", " ", "?", "!"};
   for (int i = 0; i < array.length; i++) {
    text = text.replace(array[i],",");
   }
   String[] textArray = text.split(",");
   //遍历 记录
   Map<String, Integer> map = new HashMap<String, Integer>();
   for (int i = 0; i < textArray.length; i++) {
    String key = textArray[i];
    //转为小写
    String key_l = key.toLowerCase();
    if(!"".equals(key_l)){
     Integer num = map.get(key_l);
     if(num == null || num == 0){
      map.put(key_l, 1);
     }else if(num > 0){
      map.put(key_l, num+1);
     }
    }
   }
   //输出到控制台
   System.out.println("各个单词出现的频率为:");
   Iterator<String> iter = map.keySet().iterator();
   while(iter.hasNext()){
    String key = iter.next();
    Integer num = map.get(key);
    System.out.println(key + "\n\t\t" + num + "次\n-------------------");
   }
  }

测试代码:

public static void main(String[] args) {
   String text = "Welcome welcome to ADempiere, a commons-based peer-production of Open Source ERP Applications. This Wiki is for the global community to contribute and share know-how and domain expertise. We hope you can find as much open information and participate in making it most usable for everyone. This project has a bazaar of Citizens with a Community Council Team which work in theFunctional Team and Technical Team along the Software Development Procedure supported and funded by the foundation ADempiere";
   findEnglishNum(text);   }

运行结果:

后面还有一些没有全部截下来

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

(0)

相关推荐

  • Java简单统计字符串中汉字,英文字母及数字数量的方法

    本文实例讲述了Java简单统计字符串中汉字,英文字母及数字数量的方法.分享给大家供大家参考,具体如下: package org.zhy.demo.algorithm; /** * 有一个字符串,其中包含中文字符.英文字符和数字字符,请统计和打印出各个字符的个数 * * @author Administrator * */ public class Str { public static void main(String[] args) { String str = "adasfAAADFD阿萨德

  • Java统计输入字符的英文字母、空格、数字和其它

    题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 程序分析:利用while语句,条件为输入的字符不为 '\n '. 程序设计: import java.util.Scanner; public class ex7 { public static void main(String args[]) { System.out.println("请输入字符串:"); Scanner scan=new Scanner(System.in); String str=scan

  • Java编程实现提取文章中关键字的方法

    本文实例讲述了Java编程实现提取文章中关键字的方法.分享给大家供大家参考,具体如下: 实现代码: /** * 相关的jar包 * lucene-core-3.6.2.jar,lucene-memory-3.6.2.jar, * lucene-highlighter-3.6.2.jar,lucene-analyzers-3.6.2.jar * IKAnalyzer2012.jar * * 截取一片文章中频繁出现的关键字,并给予分组排序(倒叙),以数组格式返回n个关键字 * * 并该类内部含有一个

  • Java 区分文本中的中英文字符函数

    复制代码 代码如下: public class EnCnTest { public static void main(String args[]) { byte buf[] = args[0].getBytes(); boolean halfChinese = false; for(int i=0;i { if(halfChinese) { byte ch[] = {buf[i-1],buf[i]}; System.out.println("索引"+(i-1)+"位置为中文(

  • java识别一篇文章中某单词出现个数的方法

    本文实例讲述了java识别一篇文章中某单词出现个数的方法.分享给大家供大家参考.具体如下: 1. java代码: import java.io.DataInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.StringTokenizer; import java.util.regex.Matche

  • java 字浮串提取方法汇集

    该方法把该字符串转换成一个新的字符数组. String str="abcdefg"; char a[]; a=str.toCharArray(); 也可以用方法: getChars public void getChars(int srcBegin, int srcEnd, char dst[], int dstBegin) 从该字符串中拷贝字符到目的字符数组中. 第一个要复制的字符在索引 srcBegin 处: 最后一个要复制的字符在索引 srcEnd-1 处(因此要复制的字符总数就

  • java中判断字段真实长度的实例(中文2个字符,英文1个字符)

    实例如下: public class Char_cn { public static void main(String[] args) { // TODO Auto-generated method stub String haha = "我叫兜兜abcd"; int true_num = String_length(haha); System.out.println("true" + true_num); int false_num = haha.length()

  • Java实现将数字日期翻译成英文单词的工具类实例

    本文实例讲述了Java实现将数字日期翻译成英文单词的工具类.分享给大家供大家参考,具体如下: package com.sunyard.etp.ag.util; import java.math.BigDecimal; import java.util.Arrays; public class DateEngUtil { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated meth

  • Java正则表达式提取字符的方法实例

    正好遇到一个需求需要将字符串中特定的字符全部提取出来,这个如果是按常规的字符串处理的话非常的繁琐.于是想到用正则表达式来完成.项目需求是这样的:需要提取车牌号中最后一个数字,比如说:苏A7865提取5,苏A876X提取6 实现方法: import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args) { String s

  • Java实现对一行英文进行单词提取功能示例

    本文实例讲述了Java实现对一行英文进行单词提取功能.分享给大家供大家参考,具体如下: package fanyi; import java.util.Scanner; import java.util.StringTokenizer; public class text { public static void handle(String eString) { StringTokenizer st = new StringTokenizer(eString,",!' '.;"); w

  • 利用java实现单词倒序排列

    本文就是会将数组里面的单词进行倒序排列 例如 how old are you -> you are old how 示例程序输出结果: the first: How old are you !? I don't understand the second: understand don't I ?! you are old How 示例代码 public static void main(String[] args) { char[] chars= new String("How old

  • Java中判断字符串是中文或者英文的工具类分享

    直接上代码: 复制代码 代码如下: import java.util.regex.Matcher; import java.util.regex.Pattern; /**  *  * <p>  * ClassName ShowChineseInUnicodeBlock  * </p>  * <p>  * Description 提供判断字符串是中文或者是英文的一种思路  * </p>  *  * @author wangxu wangx89@126.com

随机推荐