У меня есть URL-адрес, который, как http://example.com/UK/Deal.aspx?id=322Как получить код региона (страны) по URL-адресу?
Моя цель заключается в удалении локали (страна) часть, чтобы сделать его как http://example.com/Deal.aspx?id=322
Поскольку URL может иметь и другие подобные форматы, такие как: https://ssl.example.com/JP/Deal.aspx?id=735, используя "substring" Функция не очень хорошая идея.
Что я могу думать о том, чтобы использовать следующий метод для их разделения, а затем отобразить их позже.
HttpContext.Current.Request.Url.Scheme
HttpContext.Current.Request.Url.Host
HttpContext.Current.Request.Url.AbsolutePath
HttpContext.Current.Request.Url.Query
И, предположим HttpContext.Current.Request.Url.AbsolutePath будет:
/UK/Deal.aspx?id=322
Я не знаю, как справиться с этим, так как мой босс попросил меня не использовать «обычный выражение "(он думает, что это будет влиять на производительность ...)
Кроме" Regular Expression», есть ли другой способ, чтобы удалить UK от этого?
p.s .: UK часть может быть JP, DE или другой код страны.
Кстати, для США, нет кода страны, и URL будет http://example.com/Deal.aspx?id=322
Пожалуйста, также эту ситуацию во внимание. Спасибо.
Почему вы хотите удалить и отобразить их обратно? Является ли это из-за того, что локаль автоматически добавляется к вам? При обращении к веб-сайту из разных регионов или стран? если да, то может быть другое решение. – vendettamit
Привет @vendettamit, на самом деле мой сайт добавляет «много регионов» в наши дни, а мои унаследованные URL-адреса не будут работать правильно, если есть дополнительный «код страны». Я пытаюсь удалить «код страны» с URL-адреса (с кодом страны), прежде чем перейти к этим унаследованным методам и отобразить его обратно после обработки. – user3174976
Gotach !! Вы можете использовать небольшое регулярное выражение для соответствия, если сегмент Url имеет 2-буквенный ISO-код в качестве первого ввода после root. @ user3174976 См. мой обновленный ответ. – vendettamit