Tôi hiện đang cố gắng xp lại một chuỗi thành nhiều biến. Chuỗi ví dụ:
ryan_string = "RyanOnRails: This is a test"
Tôi đã đối sánh nó với regexp này, với 3 nhóm:
ryan_group = ryan_string.scan(/(^.*)(:)(.*)/i)
Bây giờ để truy cập từng nhóm, tôi phải làm như sau:
ryan_group[0][0] (first group) RyanOnRails
ryan_group[0][1] (second group) :
ryan_group[0][2] (third group) This is a test
Điều này có vẻ khá nực cười và có cảm giác như tôi đang làm sai. Tôi mong đợi có thể làm điều gì đó như thế này:
g1, g2, g3 = ryan_string.scan(/(^.*)(:)(.*)/i)
Điều này có khả thi không? Hay có cách nào tốt hơn cách tôi đang làm không?
one, two, three = string.match(/(^.*)(:)(.*)/i).captures
thành:one, two, three = string.match(/(^.*)(:)(.*)/i).try(:captures)