Разобрать строку на символы, используя ruby - PullRequest
2 голосов
/ 06 июня 2011

У меня есть требование в моем коде ruby. Я использую ruby ​​1.9.2 и rails 3.0.У меня есть строка типа «SR2G1M1D2». Теперь я хочу разделить ее и извлечь значения, такие как [S, R2, G1, M1, D2]. Это похоже на то, когда следующее значение является символом, оно должно быть разделено. Есть ли какая-либо функция или код ruby?.

Спасибо

Ответы [ 3 ]

5 голосов
/ 06 июня 2011
"SR2G1M1D2".scan(/\D\d*/)
=> ["S", "R2", "G1", "M1", "D2"] 

Надеюсь, это поможет.

2 голосов
/ 06 июня 2011

Просто используйте #split с RegExp:

ruby-1.9.2-p180 :002 > "SR2G1M1D2".split(/(?=[a-zA-Z])/)
 => ["S", "R2", "G1", "M1", "D2"] 
ruby-1.9.2-p180 :005 > 
0 голосов
/ 06 июня 2011

разделить с помощью регулярного выражения должно сделать это. В основном это регулярное выражение. \ D с позитивным взглядом на \ D. к сожалению, я недостаточно использовал lookaheads, чтобы знать формат

...