Ruby Regexp сопоставление групп, присваивать переменные в 1 строке

В настоящее время я пытаюсь преобразовать строку в несколько переменных. Пример строки:

ryan_string = "RyanOnRails: This is a test"

Я сопоставил его с этим регулярным выражением с тремя группами:

ryan_group = ryan_string.scan(/(^.*)(:)(.*)/i)

Теперь для доступа к каждой группе мне нужно сделать что-то вроде этого:

ryan_group[0][0] (first group) RyanOnRails
ryan_group[0][1] (second group) :
ryan_group[0][2] (third group) This is a test

Это кажется довольно нелепым, и мне кажется, что я делаю что-то не так. Я ожидаю, что смогу сделать что-то вроде этого:

g1, g2, g3 = ryan_string.scan(/(^.*)(:)(.*)/i)

Возможно ли это? Или есть способ получше чем я?

105 голосов | спросил ryanjones 16 FebruaryEurope/MoscowbThu, 16 Feb 2012 04:50:53 +0400000000amThu, 16 Feb 2012 04:50:53 +040012 2012, 04:50:53

0 ответов


Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132