一、准备工作

1、相关的库

因为红书中大部分是中文字符,标准库中目前还无法直接处理。因此,在进行分析前,在toml文件中的依赖库中,添加一下以下:

encoding = "0.2"

具体可参考以下资料:

https://github.com/lifthrasiir/rust-encoding

2、红楼梦一书的txt文件。直接找度娘。

二、相关代码

extern crate encoding;
use encoding::{Encoding, DecoderTrap};
use encoding::all::GB18030; //可以转成汉字的字库
fn main() {let mut f = File::open("C:\\Users\\Desktop\\redstory.txt").ok().expect("file read error!");let mut hp: HashMap<char, i32> = HashMap::new();let mut reader: Vec<u8> = Vec::new();//u8集f.read_to_end(&mut reader).ok().expect("can not read file");let mut content = String::new();//字符串GB18030.decode_to(&mut reader, DecoderTrap::Ignore, &mut content);for c in content.chars() {let counter = hp.entry(c).or_insert(0);*counter += 1;}println!("hp:{:?}", hp);
}

或main{}中以下代码可以改一下:

extern crate encoding;
use encoding::{Encoding, DecoderTrap};
use encoding::all::GB18030; //可以转成汉字的字库
fn main() {let mut f = File::open("C:\\Users\\Desktop\\redstory.txt").ok().expect("file read error!");let mut reader: Vec<u8> = Vec::new();let mut hp: HashMap<char, i32> = HashMap::new();f.read_to_end(&mut reader).ok().expect("can not read file");let content:String = GB18030.decode(&reader, DecoderTrap::Strict).unwrap();for d in content.chars() {let counter = hp.entry(d).or_insert(0);*counter += 1;}println!("hp :{:?}", hp);
}

你可以看到不同字符串出现的频率了。

Rust : 红楼梦一书中文字符的统计相关推荐

  1. 红楼梦 1.2 红楼梦一书根由来历

    红楼梦 1.2 红楼梦一书根由来历

  2. 中文字符频率统计python_用Python数据分析方法进行汉字声调频率统计分析

    用 Python 数据分析方法进行汉字声调频率统计分析 木合塔尔·沙地克 ; 布合力齐姑丽·瓦斯力 [期刊名称] <电脑知识与技术> [年 ( 卷 ), 期] 2017(013)035 [ ...

  3. 中文字符频率统计python_python统计字符串出现最多的字母及其出现次数

    统计字符串出现最多的字母及其出现次数 另外如果次数相同按字母顺序排序. 方法1 可以使用自定义键对c.most_common()进行排序,该键首先考虑频率的降序,然后考虑字母的降序(请注意lambda ...

  4. python split函数 空格_python上手--10行代码读懂红楼梦

    取名10行代码看懂红楼梦,是将介绍使用python代码来读红楼梦获取其主要人物.这里的思想就是词频统计,通过分析红楼梦小说文字中出现最多的词语,来概括说明红楼梦的核心人物和事情.实际上如果你能跟着往下 ...

  5. 听学编程之python_听学编程之Python 三、宝玉在红楼梦里说了什么

    应听友要求,根据喜马拉雅上的音频节目『听学编程之Python』整理所得. 除了数值外,Python处理字符串特别方便,甚至在编程界,也算是最方便的类型.要掌握哪些入门知识呢?字符串 unicode 列 ...

  6. 安利一个惊艳的红楼梦可视化作品

    更新:<左手读红楼梦,右手写BUG,闲快活>一文对该数据集进行了分析挖掘,加了许多红楼梦的内容,以及几个书里的黄段子,逃.代码开源在:DesertsX/gulius-projects 直接 ...

  7. 红楼梦 音频 第一回 甄士隐梦幻识通灵 贾雨村风尘怀闺秀

    因为女娲补天,遗留下一块顽石,便生出了这红楼梦许多故事. 留下一块便生出红楼梦故事,要是留下许多,那得演绎出多少故事来. 红楼梦有好几种书名: 石头记:因为是由这一块石头引起的故事,所以又称石头记 情 ...

  8. 红楼梦中的那些震撼人心的诗词

    红楼有梦,一梦百年. 曹雪芹 如果这天下真的有集大成者,那曹雪芹应该就是那个人了,无论琴棋书画,或是诗词歌赋,曹雪芹都达到了登峰造极的地步,这也许就是后世很少有人敢续写红楼梦的原因吧. 红楼梦 这部书 ...

  9. Google BERT 中文应用之《红楼梦》中对话人物提取

    ​点击上方"迈微AI研习社",选择"星标★"公众号 转载自:PaperWeekly 庞龙刚 之前看到过一篇文章,通过提取文章中对话的人物,分析人物之间的关系,很 ...

  10. 红楼梦人物出场顺序python_Python 中文词频分析——红楼梦人物出场次数

    本篇文档,带大家用Python做一下词频统计 本章需要用到Python的jieba模块 jieba模块是一个经典的用于中文分词的模块 首先呢 我们需要读取文章的内容,并用jieba库的lcut进行分词 ...

最新文章

  1. 基于php编写的新闻类爬虫,插入WordPress数据库
  2. libstdc++.so, needed by ../../../rknn_api/arm64-v8a/librknn_api.so, not found
  3. 语言关键字特别注意没有_从零开始写文本编辑器(三十三):前20名编程语言的关键字...
  4. Java程序猿的JavaScript学习笔记(10—— jQuery-在“类”层面扩展)
  5. 程序员面试系列——冒泡排序
  6. python中format的用法菜鸟教程-初学者必知的Python中优雅的用法
  7. Spring MVC –自定义RequestMappingHandlerMapping
  8. 35 岁之前不应该错过的 30 本书
  9. 汇编为什么分段执行总是执行不了_为什么我的计划总是执行不了?这里有你要的答案...
  10. 12月29日二周五次【Python基础语法】
  11. OpenWRT开发之——对C++的支持(解决库依赖问题)
  12. 只需订阅“全部文章”专栏便可查看所有文章
  13. SpringMVC之安全性(三)Twitter登入
  14. Hbase与pegasus对比
  15. 如果更快的访问ESS系统?
  16. html弹窗确认取消公告代码,javascript实现确定和取消提示框效果
  17. USER_TAB_COLS,USER_TAB_COLUMNS,ALL_TAB_COLS,ALL_TAB_COLUMNS获取数据库元素的区别
  18. Python 数据分析之 Numpy (三)
  19. zblog mysql修改_手把手教修正zblog默认阅读量
  20. 【智慧农业】LORA农业灌溉解决方案

热门文章

  1. Servlet初步认识(一)
  2. 我们会不会与操作系统谈一场奋不顾身的爱情──《云端情人》有感
  3. media query学习笔记
  4. WordPress Exploit Scanner插件安全绕过漏洞
  5. 自动开票失败可能出现的错误信息
  6. [ASP.NET 设计模式] 用Visual Studio2010搭建一个简单的分层结构示例Step by Step —— 06 用户界面层...
  7. BT 与 Magnet 的下载方式及原理
  8. opencv学习笔记3:边缘检测(Canny, Sobel, Laplacian)
  9. Improving Opencv 5: The Core Functionality :Adding (blending) two images using OpenCV
  10. 《图解算法》学习笔记之快速排序