使用Scala语言完成wordcount(单词计数)例子的编码及测试
时间: 2023-08-04 09:03:29 浏览: 134
下面是使用Scala语言完成wordcount例子的编码及测试的示例代码:
```scala
object WordCount {
def main(args: Array[String]): Unit = {
val input = "Hello world, I am learning Scala. Scala is a powerful language."
val words = input.toLowerCase().replaceAll("[^a-z ]", "").split("\\s+")
val wordCount = words.groupBy(identity).mapValues(_.length)
println(wordCount)
}
}
```
这个例子中,我们首先定义了一个字符串`input`,表示要进行单词计数的文本。接着,我们使用`toLowerCase()`方法将文本转换为小写,并使用`replaceAll()`方法将非字母和空格的字符替换为空格。最后,我们使用`split("\\s+")`方法将文本按照空格分割成单词,并使用`groupBy(identity)`方法和`mapValues(_.length)`方法完成单词计数。最终,我们将单词计数结果打印出来。
为了测试这个例子,我们可以直接运行`WordCount`对象的`main`方法,输出结果如下:
```
Map(language -> 1, hello -> 1, i -> 1, am -> 1, world -> 1, powerful -> 1, learning -> 1, a -> 1, is -> 2, scala -> 2)
```
这个结果表示,在输入文本中,单词`language`、`hello`、`i`、`am`、`world`、`powerful`、`learning`、`a`、`is`、`scala`分别出现了1或2次,完成了单词计数的任务。
阅读全文