我有一個巨大的文本文件。我希望從該文本文件中出現短語「我感覺」後出現的單詞數量。計算文本文件中的模式
這裏是什麼樣的文件就像一個小例子:
i feel awesome
i feel nothing but i also feel awesome
i feel good.
,我讀了包含文本文件和匹配行「我覺得」。現在我的輸出形式是:
res3: Array[String] = Array("awesome", "nothing", "good", ....)
我需要在文本文件中找到這些詞的出現。我使用至今爲此,
代碼如下:
val c1 = scala.io.Source.fromFile("text.txt", "UTF-8").
getLines.flatMap(regexpr.findAllIn(_).toList).
foldLeft(Map.empty[String, Int]) {
(count, word) => count + (word -> (count.getOrElse(word, 0) + 1))
}
但是,這給我的只有幾句話是存在該數組中的計數。 例如,它返回:
c1: scala.collection.immutable.Map[String,Int] = Map(awesome -> 1, nothing -> 4)
不退還的出現在列表中的所有字計數。另外,如何將Map[String,Int]
寫入文本文件?
可能的複製[斯卡拉初學者 - 在文件來算的話最簡單的方法(http://stackoverflow.com/questions/15487413/scala-beginners-simplest-way-to- count-words-in-file) – starlight
您所指的解決方案不會返回所有匹配項。我已更新原始評論 – AzkaGilani