在idea中用scala语言对字符串"This is a sample text. This text contains some sample words."里的单词进行词频统计
时间: 2024-09-22 08:03:54 浏览: 37
Leetcode434. 字符串中的单词数
5星 · 资源好评率100%
在IntelliJ IDEA中使用Scala语言进行字符串的词频统计,你可以按照以下步骤操作:
1. 首先,在IDEA中创建一个新的Scala项目,或者打开现有的项目。
2. 导入`scala.collection.immutable.Map` 和 `scala.utilregex.Pattern` 包,这两个包分别用于处理映射数据结构和正则表达式:
```scala
import scala.collection.immutable.Map
import scala.util.matching.Regex
```
3. 创建一个函数,该函数接受字符串作为输入,并使用正则表达式将字符串分割成单词列表:
```scala
def splitIntoWords(s: String): List[String] = {
val regex = "\\W+".r // 使用非单词字符分隔字符串
regex.split(s).toList filter(_.nonEmpty) // 过滤空单词
}
```
4. 然后计算每个单词的频率,可以使用`foldLeft` 函数结合`Map` 来存储结果:
```scala
def wordFrequency(words: List[String]): Map[String, Int] = {
words.foldLeft(Map.empty[String, Int]) { (acc, word) =>
acc + (word -> (acc.getOrElse(word, 0) + 1))
}
}
```
5. 最后,应用到给定的字符串上并打印出结果:
```scala
val inputText = "This is a sample text. This text contains some sample words."
val wordList = splitIntoWords(inputText)
val frequencyMap = wordFrequency(wordList)
frequencyMap.foreach(println) // 打印每个单词及其频率
```
完成上述代码后,运行程序,你会看到字符串中每个单词及其出现的次数。
阅读全文