使用Ruby计算并排字母的最大数量

Zag*_*g.. 1 ruby regex string

我们怎样才能获得并排的最大字母数?

例如,如果我们计算每个并排的最大字母a:

"Muhahaha, hello world!!!!! Aaaaaaaa" # => 7
"fuu" # => 0
"foobar" # => 1
"aaa bbb ccc" # => 3
"aa bb cc aaaaa ff" # => 5
Run Code Online (Sandbox Code Playgroud)

我正在使用Ruby 1.9.3.根据String类,我认为已经有一种方法可以做到这一点.也许Regexp类可能更有用.

你觉得有一种性感的方式吗?感谢任何建议.

Hau*_*eth 5

我的方式是:

"Muhahaha, hello world!!!!! Aaaaaaaa".scan(/a+/).max.length #=> 7
Run Code Online (Sandbox Code Playgroud)

或者如果那不起作用(但它应该)

"Muhahaha, hello world!!!!! Aaaaaaaa".scan(/a+/).sort.last.length #=> 7
Run Code Online (Sandbox Code Playgroud)

  • @Hauleth我认为Jeremy正在寻找`letter ='a'; "Muhahaha,helloooo world !!!!! Aaaaaaaa".scan(/#{letter} + /).max.length`. (2认同)