使用Ruby查找string中字符的出现

我正在寻找Ruby方法(1.9 …),它可以帮助我找出string中字符出现的次数。 我正在寻找所有的事件,不仅是第一个。

例如:“Melanie是一个noob”有两个字母“a”的事件。 为了find这个,我可以使用什么Ruby方法?

我一直在使用Ruby-doc.org作为参考,特别是String类中的扫描方法引起了我的注意。 不过,对我来说措辞有些困难,所以我没有真正把握扫描的概念。

如果你只想要a的数量:

puts "Melanie is a noob".count('a') #=> 2 

从以前问的这个链接应该有助于扫描Ruby中的string

扫描将string中所有出现的string作为数组返回

 "Melanie is a noob".scan(/a/) 

将返回

 ["a","a"] 

你正在寻找String.index()方法:

返回str中给定子string或模式(regexp)的第一个匹配项的索引。 如果没有find,则返回nil。 如果第二个参数存在,它指定string中开始search的位置。

 "hello".index('e') #=> 1 "hello".index('lo') #=> 3 "hello".index('a') #=> nil "hello".index(?e) #=> 1 "hello".index(/[aeiou]/, -3) #=> 4