轨道
/
ReasonML
ReasonML
/
练习
/
单词计数
单词计数

单词计数

简单

简介

你是一名高中英语老师,教学生把英语作为一门外语来学。

你决定把整个课程体系都建立在电视剧之上。 你需要分析剧中用了哪些单词,以及这些单词重复出现的频率。

这样你就能挑出最简单的剧集作为起点,再随着时间推移逐步提高难度。

说明

你的任务是统计一部剧的字幕中每个单词出现的次数。

这些剧的字幕只使用 ASCII 字符。

剧中人物常常说随意的英语,会使用像 they're 或 it's 这样的缩略形式。虽然这些缩略形式来自两个单词(例如 we are),但缩略形式(we're)被视为一个单词。

单词可以由任何标点符号(例如 ":"、"!" 或 "?")或空白字符(例如 "\t"、"\n" 或 " ")分隔。唯一不分割单词的标点符号是缩略形式中的撇号。

数字也被视为单词。如果字幕里说 It costs 100 dollars.,那么 100 会单独作为一个单词。

单词不区分大小写。例如,单词 you 在下面这句话中出现了三次:

You come back, you hear me? DO YOU HEAR ME?

结果中各个单词计数的顺序无关紧要。

下面这个例子涵盖了上面讨论的多个要素:

  • 简单单词
  • 缩略形式
  • 数字
  • 不区分大小写的单词
  • 用标点符号(包括撇号)分隔单词
  • 用不同形式的空白字符分隔单词

"That's the password: 'PASSWORD 123'!", cried the Special Agent.\nSo I fled.

这个字幕对应的映射结果是:

123: 1
agent: 1
cried: 1
fled: 1
i: 1
password: 2
so: 1
special: 1
that's: 1
the: 2

来源

这是一个经典的玩具问题,不过我们是在 Go Tour 中看到它后才想起来的。
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
ReasonML Exercism

准备好开始 单词计数 了吗?

注册 Exercism,借助 31 个练习 和真人导师指导,学习并掌握 ReasonML,全部免费。