Замените имя хоста в строке URL - PullRequest
0 голосов
/ 18 декабря 2018

Исходный вопрос

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

user[:href] = "https://www.example.com/user-detail/1231-N-F-Albert"

Мне нужно извлечь:

"https://www.example.com/"

и вернуть:

"/user-detail/1231-N-F-Albert"

Есть ли какой-либо метод, который удаляет имя хостаи возвращает только поддомен?Я попытался с:

URI.parse(user[:href]).host.replace("")

, но он вернулся пустым.Есть ли другой способ добиться этого?


Новый вопрос

Я изменил вопрос.Мне нужно извлечь:

"https://www.example.com/user-detail"

и вернуть:

"1231-N-F-Albert"

Есть ли способ добиться этого?Я пытался с регулярным выражением, но это не сработало.

Ответы [ 3 ]

0 голосов
/ 18 декабря 2018

Используйте следующий код.Надеюсь, что это чисто и легко понять.

require 'uri'
URI("http://www.mydomain.qwe/directory").path
# => "/directory"
0 голосов
/ 19 декабря 2018

использование Ruby # URI

> require 'uri'
# To get path from URL
> URI.parse("https://www.example.com/user-detail/1231-N-F-Albert").path
#=> "/user-detail/1231-N-F-Albert"

# To get last segment of url
> URI.parse("https://www.example.com/user-detail/1231-N-F-Albert").path.split('/').last
#=> "1231-N-F-Albert"
0 голосов
/ 18 декабря 2018

Используйте анализатор URI и просто верните путь:

URI.parse("https://www.example.com/user-detail/1231-N-F-Albert").path
#=> "/user-detail/1231-N-F-Albert"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...