计算字符串中所有出现的char

时间:2011-10-26 21:06:46

标签: scala

Scala是否有本地方法来计算字符串中所有字符的出现次数?

如果是这样,我该怎么办?

如果没有,我是否需要使用Java?如果是这样,我该怎么做?

谢谢!

3 个答案:

答案 0 :(得分:88)

"hello".count(_ == 'l') // returns 2

答案 1 :(得分:4)

我不使用Scala甚至是java但谷歌搜索“Scala string”让我进入here

包含:

def
count (p: (Char) ⇒ Boolean): Int
Counts the number of elements in the string which satisfy a predicate.
p
the predicate used to test elements.
returns
the number of elements satisfying the predicate p.
Definition Classes
TraversableOnce → GenTraversableOnce

看起来非常直接,但我不使用Scala,所以不知道调用成员函数的语法。可能比这需要更多的开销,因为它看起来可以搜索一系列字符。在不同的结果页面上读取字符串可以更改为一系列字符,您可以轻松地遍历它们并增加计数器。

答案 2 :(得分:0)

您还可以通过使用sliding通过更高级别的方法来查看另一个字符串中子字符串的出现:

def countSubstring(str: String, sub: String): Int =
  str.sliding(sub.length).count(_ == sub)