1. 程式人生 > >統計文字中每個單詞的個數

統計文字中每個單詞的個數

/**
	 * 統計文字每個單詞的個數
	 * 
	 * @param text
	 *            文字
	 * @param ignoreCase
	 *            是否忽略大小寫
	 * @return
	 */
	public static Map<String, Integer> countEachWorld(String text,
			boolean ignoreCase) {
		Matcher m = Pattern.compile("\\w+").matcher(text);
		String matcheStr = null;
		Map<String, Integer> map = new LinkedHashMap<>();
		Integer count = 0;
		while (m.find()) {
			matcheStr = m.group();
			matcheStr = ignoreCase ? matcheStr.toLowerCase() : matcheStr;
			count = map.get(matcheStr);
			map.put(matcheStr, count != null ? count + 1 : 1);
		}
		return map;
	}

匹配的文字:

Java provides the java.util.regex package for pattern matching with regular expressions. Java regular expressions are very similar to the Perl programming language and very easy to learn.

A regular expression is a special sequence of characters that helps you match or find other strings or sets of strings, using a specialized syntax held in a pattern. They can be used to search, edit, or manipulate text and data.


結果:

1、忽略大小寫

countEachWorld(text, true);

{java=3, provides=1, the=2, util=1, regex=1, package=1, for=1, pattern=2, matching=1, with=1, regular=3, expressions=2, are=1, very=2, similar=1, to=3, perl=1, programming=1, language=1, and=2, easy=1, learn=1, a=4, expression=1, is=1, special=1, sequence=1, of=2, characters=1, that=1, helps=1, you=1, match=1, or=3, find=1, other=1, strings=2, sets=1, using=1, specialized=1, syntax=1, held=1, in=1, they=1, can=1, be=1, used=1, search=1, edit=1, manipulate=1, text=1, data=1}

2、對大小寫敏感
countEachWorld(text, false);

{Java=2, provides=1, the=2, java=1, util=1, regex=1, package=1, for=1, pattern=2, matching=1, with=1, regular=3, expressions=2, are=1, very=2, similar=1, to=3, Perl=1, programming=1, language=1, and=2, easy=1, learn=1, A=1, expression=1, is=1, a=3, special=1, sequence=1, of=2, characters=1, that=1, helps=1, you=1, match=1, or=3, find=1, other=1, strings=2, sets=1, using=1, specialized=1, syntax=1, held=1, in=1, They=1, can=1, be=1, used=1, search=1, edit=1, manipulate=1, text=1, data=1}


相關推薦

統計文字每個單詞個數

/** * 統計文字每個單詞的個數 * * @param text * 文字 * @param ignoreCase * 是否忽略

jmu-Java&Python-統計一段文字單詞個數並按單詞的字母順序排序後輸出

現需要統計若干段文字(英文)中的不同單詞數量。 如果不同的單詞數量不超過10個,則將所有單詞輸出(按字母順序),否則輸出前10個單詞。 注1:單詞之間以空格(1個或多個空格)為間隔。注2:忽略空行或者空格行。注3:單詞大小寫敏感,即'word'與'WORD'是兩個不同的單詞 。 輸入說明

統計字串每個單詞出現的次數 for C++

void CountWords(char str[])//實現字串中每個單詞出現的次數統計 {     char S[20][10];//用於儲存每個單詞     int Count[20];//用於統計每個單詞出現的次數     int i=0,j=0,k=0;     int Num;//表示單詞的個數

統計句子單詞個數

from collections import Counter def bag_of_words(text): # TODO: Implement bag of words retur

C語言K&R習題系列——統計文件每個單詞所包含的字母個數,以直方圖形式輸出

原題: Write a program to print a histogram of the lengths of words in its input. It is easy to draw

需求說明:從鍵盤輸入一個字串,統計字串每個字元的個數。如輸入“adbda”,結果為a=2,d=2,b=1。

思路: 使用Scanner接收鍵盤輸入的字串。 使用HashMap統計每個字元的個數,其中key儲存字元,value用來記錄字元的數量。 原始碼: public static void main(String[] args) { //人性化提示資訊。 System

演算法--統計文字出現次數最多的單詞(字典樹)

統計一個文字中,出現次數最多的單詞:單詞全部小寫,單詞與單詞之間以空格間隔 1.利用字典  key為單詞  value為單詞出現的次數 def mostString(): dict = {} fr = open('preprocessing.txt')

Python每日一題:第3題:統計一個檔案每個單詞出現的次數

題目: 統計一個檔案中每個單詞出現的次數,列出出現頻率最多的5個單詞。 前言: 這道題在實際應用場景中使用比較廣泛,比如統計歷年來四六級考試中出現的高頻詞彙,記得李笑來就利用他的程式設計技能出版過一本背單詞的暢銷書,就是根據詞頻來記單詞,深受學生喜歡。這就是一個把程式設計技能用來解決實際問

Java 統計一個字串每個單詞,或者字母出現的次數

package cn.itcast.demo24; import java.util.HashMap; /*  * 用程式碼實現以下需求(1)有如下字串"If you want to change your fate I think you must come to the

Java實現統計一篇文章每個單詞出現的次數

import java.io.File; import java.io.FileReader; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; import jav

IOS菜鳥的所感所思(十一)——統計文字單詞出現的次數並按照次數高低排序

//確認我放英文檔案的目錄下又該檔案, - (NSString *)getFileData{     //這是放在其沙盒路徑下 //    NSString *docDirPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NS

C++經典題目二:統計一篇英文文章單詞個數

要求:統計處一篇英文文章中的不同的單詞,並得到單詞個數。 用一個單向連結串列儲存所出現的單詞,注意幾點:1)檔案輸入輸出;2)字串處理;3)連結串列資料結構 再看程式碼——演算法實現如下: //========================================

【C語言程序】讓用戶輸入一句話,輸出這句話每個單詞含有多少個字母

get mage 一句話 printf png es2017 urn bsp can #include <stdio.h>#define N 100 //宏定義,用N表示100 int main(int argc, char *argv[]) { int i

Python3基礎 str 循環輸出list每個單詞及其長度

clas str 簡單 dev 方法 .cn uid 語言 art ? python : 3.7.0 OS : Ubuntu 18.04.1 LTS

【LeetCode 簡單題】96-字串單詞個數

宣告: 今天是第96道題。統計字串中的單詞個數,這裡的單詞指的是連續的不是空格的字元。以下所有程式碼經過樓主驗證都能在LeetCode上執行成功,程式碼也是借鑑別人的,在文末會附上參考的部落格連結,如果侵犯了博主的相關權益,請聯絡我刪除 (手動比心ღ( ´・ᴗ・` )) 正文 題目:

案例2-mapreduce統計每年每個月氣溫排行

如圖所示我們要計算每年中每個月氣溫倒序排行,在這個例子中我們輸入檔案中的年份只有3個,所以例子中的reduceTask個數是3個。如果不確定年份的個數,就不能使用年份維度作為reduceTask個數。

Hadoop 統計檔案某個單詞出現的次數

轉自:https://www.xuebuyuan.com/1270346.html   2013年10月24日 ⁄ 綜合 ⁄ 共 2628字 ⁄ 字號 小 中 大 ⁄ 評論關閉   如檔案wor

統計字串的字元個數 python程式設計

問題描述: 題目內容: 定義函式countchar()按字母表順序統計字串中所有出現的字母的個數(允許輸入大寫字元,並且計數時不區分大小寫)。形如: def countchar(string):       ... ...      return a list

Spark -- RDD簡單操作【統計文字單行最大單詞數】

一 、什麼是RDD ?          RDD在Spark【Scala語言】中,是一種資料結構【基於記憶體,可持久化】,就好比Java的ArrayList一樣,可以進行各種的Action操作,比如Java中的List集合,可以進行get【獲取元素】、add【增加元