Scala:如何使用多个分隔符拆分单词

时间:2017-08-18 13:52:41

标签: scala split

假设我有这样的文本文件:

Apple#mango&banana@grapes

在执行单词计数之前,需要在多个分隔符上拆分数据。

怎么做?

2 个答案:

答案 0 :(得分:7)

使用org-mode方法:

company-mode

答案 1 :(得分:3)

如果您只想计算单词,则无需拆分。这样的事情会做:

  val numWords = """\b\w""".r.findAllIn(string).length

这是匹配单词开头的正则表达式(\b是(零长度)单词边界,\w是任何“单词”字符(字母,数字或下划线),所以你得到你的字符串中的所有匹配项,然后检查它们的数量。

如果您希望单独计算每个单词,并且跨多行计算,那么,split可能是更好的选择:

    source
      .getLines
      .flatMap(_.split("\\W+"))
      .filterNot(_.isEmpty)
      .groupBy(identity)
      .mapValues(_.size)