Как бы я проанализировал этот URL, чтобы получить идентификатор? - PullRequest
1 голос
/ 01 мая 2011

Я хочу проанализировать этот URL, используя ruby, чтобы получить идентификатор 33: http://www.domain.com/?id=33

Как бы я это сделал?

Ответы [ 3 ]

8 голосов
/ 01 мая 2011

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

require 'uri'
require 'cgi'
h  = CGI.parse(URI.parse('http://www.domain.com/?id=33').query)
id = h['id'][0].to_i
# You now have the id parameter as a Fixnum

В качестве бонуса это даст вам некоторое представление о стандартных библиотеках.

2 голосов
/ 01 мая 2011

Вы можете использовать регулярное выражение через совпадение, например

id = url.match(/.*\=(\d+)/)[1]

, где url = "http://www.domain.com/?id=33"

ian.

0 голосов
/ 01 мая 2011

С регулярным выражением типа /\d+\z/. Вы можете создать такой, например, используя rubular . Данное выражение извлекает идентификатор при условии, что никакие другие символы не следуют за идентификатором, а сам идентификатор содержит только цифры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...