2015-08-25 2 views
-1

Для exsmple:Как я могу разрезать только нужную часть строки в RoR?

у меня есть: [email protected]/4576/: thisneedtoo.ffgFhhA.pdf 7765trimsAskellYo2212

И мне нужно только: string- @ 22/4576 /: thisneedtoo.ffgFhhA. PDF? «Новый»

+1

Ничего общего с Rails, это чистый Ruby. Кроме того, ответ будет просто предположением, если вы не уточните, какая именно «необходимая часть» означает для вас. – Amadan

+1

Вырезать все после и включить вопросительный знак - в чем проблема? –

ответ

0

Если строка всегда начинается с, и вы хотите все после этого вплоть до знака вопроса, простой Ruby regular expression будет тянуть его:

match_data = /\Anew\.([^?]+\?).+\Z/.match(s) 
match_data[1] 
=> "[email protected]/4576/:thisneedtoo.ffgFhhA.pdf?" 

Я хотел бы начать с простой -то-понять регулярное выражение и как только он работает, уточнить и оптимизировать выражение и добавить проверку ошибок.

+0

Приятный синтаксис почти никто не использует: 's [/ \ Anew \. ([^?] + \?). + \ Z /, 1]' – Amadan

+1

@Amadan Очень приятно. –

+0

Большое спасибо @Amadan! – ezelen42

Смежные вопросы