在Ruby中,有一种简单的方法可以计算以下任何字符串中大括号之间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
有更好的方法吗?
答案 0 :(得分:5)
你可以用正则表达式做到这一点......
def count_chars(string)
string.match(/{(N*)}/)[1].length
end
答案 1 :(得分:4)
出于好奇:
'{NNN}{XXX}{YYY}'[/(?<={)N+(?=})/]&.length.to_i
#⇒ 3
答案 2 :(得分:1)
我不明白为什么你不能用这个:
your_string.scan(/N/).count
如果这不是您想要的,请再详细说明您的问题。