Как посчитать количество символов между двумя символами в Ruby? - PullRequest
0 голосов
/ 21 мая 2018

В Ruby есть простой способ подсчитать количество N s между фигурными скобками в любой из следующих строк?

{NNN}YYY{XXX}NNNN{YYY}

{XXX}NNN{NN}XXX{YYY}

{XXX}NNNN{YY}AAAA{NNNNNN}

Прямо сейчас у меня есть:

def count_chars(string)
  string.index('N}') - string.index('{N')
end

Есть ли лучший способ?

Ответы [ 3 ]

0 голосов
/ 21 мая 2018

Я не понимаю, почему вы не можете использовать это:

your_string.scan(/N/).count

Если это не то, что вы ищете, уточните ваш вопрос немного подробнее.

0 голосов
/ 21 мая 2018

Просто из любопытства:

'{NNN}{XXX}{YYY}'[/(?<={)N+(?=})/]&.length.to_i
#⇒ 3
0 голосов
/ 21 мая 2018

Вы можете сделать это с помощью регулярных выражений ...

def count_chars(string)
  string.match(/{(N*)}/)[1].length
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...