在Ruby中查找字符串中某个字符的#次出现

e7arh2l6  于 2022-12-03  发布在  Ruby
关注(0)|答案(3)|浏览(134)

我正在寻找Ruby方法(1.9...),它可以帮助我找到字符串中某个字符出现的次数。我正在寻找所有出现的字符,而不仅仅是第一个。
例如:“Melanie is a noob”字母“a”出现了两次。我可以使用什么Ruby方法来找到它?
我一直在用Ruby-doc.org作为参考,String: class中的scan方法吸引了我的注意力,措辞对我来说有点难懂,所以我并没有真正掌握scan的概念。

编辑:我能够使用scan解决这个问题。I shared a few solutions in a guide说明我是如何实现的。

ux6nzvsh

ux6nzvsh1#

如果您只需要a的个数:

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

文档以获取更多详细信息。

z9gpfhce

z9gpfhce2#

此链接来自之前提出的问题,应该会对scanning a string in Ruby有所帮助
scan以数组形式返回字符串中出现的所有字符串,因此

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

将返回

["a","a"]
3htmauhk

3htmauhk3#

我可以通过scan传递一个字符串来解决这个问题,如另一个答案所示。
例如:

string = 'This is an example'
puts string.count('e')

输出:

2

我还能够通过使用scan和传递一个sting通过而不是regex来拉出事件,这与另一个答案略有不同,但有助于避免regex。

string = 'This is an example'
puts string.scan('e')

输出:

['e','e']

在我弄明白之后,我在一个guide I created中进一步探索了这些方法。

相关问题