2015-09-17 6 views
-1

Я хочу разбить строку из последнего подчеркивания. Строка, как показано ниже:Как разбить эту строку на ruby?

"abc_123_identifier_12345" 

выход:

["abc_123_identifier", "12345"] 

скажите, пожалуйста, если у вас есть такие же хорошие идеи. Заранее спасибо!

+10

Как вы хотите разбить его? На третьем подчеркивании? Последний символ подчеркивания? Последний символ без цифр? – Yule

+0

Ядро команды действительно должно добавить 'String # rsplit'. – ndn

+0

@Yule на третьем знаке подчеркивания – pangpang

ответ

3

Попробуйте это:

"abc_123_identifier_12345".split(/_(\d+)$/) 
#=> ["abc_123_identifier", "12345"] 
+0

Да, это хорошо. Я действительно должен сделать регулярное выражение «go to» solution ... – SteveTurczyn

+0

Это может быть или не быть правильным ответом в зависимости от того, что действительно хочет –

+0

Это то, что я хочу, спасибо! – pangpang

1

Выглядит как шаблон сопоставления задачи, чем задача расщепления для меня:

[1] pry(main)> /^(.*)_(\d*)$/.match("abc_123_identifier_12345").captures 
=> ["abc_123_identifier", "12345"] 
3
a = "abc_123_identifier_12345" 
a.rpartition('_') - ['_'] 

выход в консоли

[22] pry > a = "abc_123_identifier_12345" 
=> "abc_123_identifier_12345" 
[23] pry > a.rpartition('_') - ['_'] 
=> ["abc_123_identifier", "12345"] 
Смежные вопросы