Как может, несколько запаздывающих наклонных черт могут быть удалены из URL в Ruby

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

url1 = "http://emy.dod.com/kaskaa/dkaiad/amaa//////////"
url2 = "http://www.example.com/"

Как я могу извлечь чередуемый вниз URL?

url1 = "http://emy.dod.com/kaskaa/dkaiad/amaa"
url2 = "http://http://www.example.com"

URI.parse в Ruby санирует определенный тип уродливого URL, но неэффективен в этом случае.

Если мы используем regex затем /^(.*)\/$/ удаляет единственную наклонную черту / от url1 и неэффективно для url2.

Кто-либо знает, как обработать этот тип парсинга URL?

Точка здесь, я не хочу, чтобы моя система имела http://www.example.com/ и http://www.example.com будучи рассматриваемым как два различных URL. И то же идет для http://emy.dod.com/kaskaa/dkaiad/amaa//// и http://emy.dod.com/kaskaa/dkaiad/amaa/.

7
задан Aliaksei Kliuchnikau 9 August 2012 в 12:56
поделиться

1 ответ

Если вам просто нужно удалить все слеши из конца строки url, то вы можете попробовать следующий regex:

"http://emy.dod.com/kaskaa/dkaiad/amaa//////////".sub(/(\/)+$/,'')
"http://www.example.com/".sub(/(\/)+$/,'')

/(\/)+$/ - этот регекс находит один или несколько слешей в конце строки. Затем мы заменяем это совпадение пустой строкой.

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

26
ответ дан 6 December 2019 в 06:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: