В Ruby есть простой способ подсчитать количество N s между фигурными скобками в любой из следующих строк?
N
{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
Есть ли лучший способ?
Я не понимаю, почему вы не можете использовать это:
your_string.scan(/N/).count
Если это не то, что вы ищете, уточните ваш вопрос немного подробнее.
Просто из любопытства:
'{NNN}{XXX}{YYY}'[/(?<={)N+(?=})/]&.length.to_i #⇒ 3
Вы можете сделать это с помощью регулярных выражений ...
def count_chars(string) string.match(/{(N*)}/)[1].length end