使用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