次のような文字列があるとしましょう:
string = [+++[>>[--]]]abced
今、私は何らかの形で次のリストを返したいと思っています: [[--],[>>],[+++]]
. これは、最も深い[
ネストとそれに続く他のネストの内容です。私はこのような解決策を思いつきました:
def string = "[+++[>>[--]]]"
loop = []
temp = []
string.each {
bool = false
if(it == "["){
temp = []
bool = true
}
else if( it != "]")
temp << it
if(bool)
loop << temp
}
println loop.reverse()
しかし、これは実際にabced
は最後の文字列の後に文字列を取り]
、結果に入れます!. でも欲しいのはただ[[--],[>>],[+++]]
これを解決するグルーヴィーな方法はありますか?