私は巨大なテキストファイルを持っています。私はそのテキストファイルから「私が感じる」というフレーズの後に出現する単語の数を求めます。ここでテキストファイルのパターンを数える
は、ファイルがどのようなものであるかの小さな例です。
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