2016-04-14 3 views
0

У меня есть эта строкаПоказывать только первые буквы строки каждого слова

Rock Paper Shotgun 

Я посмотрел вокруг, чтобы найти легкий способ получить первые буквы каждого слова. Потому что я хочу, чтобы мой конечный результат был следующим:

RPS 

Есть ли специальный рубин на рельсах для этого? Если нет, как я могу достичь такой цели?

Я нашел

str = "nishant nigam" 
=> "nishant nigam" 
str.split(" ").map {|name| name[0].chr }.join.upcase 
=> "NN" 

Но я надеялся, что, если есть еще более простой способ

ответ

6
"Rock Paper Shotgun".split.map(&:first).join.upcase 

редактировать:

IRB: [4] монтировку (основной)> " камень Бумажный дробовик ".split.map (&: первый) .join.upcase

=>" RP S»

+0

Большое спасибо много! – Sharpless512

+0

Хотя это решение также даст вам небольшие буквы, если строка «Rock Paper Shotgun» и не даст точно, что вам понадобится – Aleks

+0

вы правы .. я добавлю .upcase;) –

0

Делают это так:

"Rock Paper Shotgun".split.map{|i| i[0,1].upcase}.join