Как использовать регулярное выражение для замены идентификатора в середине URL-адреса? - PullRequest
1 голос
/ 08 декабря 2010

Мне нужно Regex или любое другое решение для замены идентификатора в середине URL (не в строке запроса).

Пример URL:

http://localhost:1876/category/6?sortBy=asc&orderBy=Popular

Я хочу заменить категория / 6 с категория / anotherID .

Используемая маршрутизация:

routes.MapRoute(
      "categories",
      "category/{categoryID}/{categoryName}",
      new { controller = "Search", action = "SearchResults", categoryID = "", categoryName = "" }
);

спасибо

1 Ответ

2 голосов
/ 08 декабря 2010

Вы можете использовать Regex.Replace (), чтобы заменить шаблон '/ category / \ w + \?'от '/category/?'.

string newCategoryId = "333";
Regex regex = new Regex(@"/category/\w+\?");
string inputString = "http://localhost:1876/category/6?sortBy=asc&orderBy=Popular";
string replacementString = string.Format("/category/{0}?", newCategoryId);
string newUrl = regex.Replace(inputString, replacementString);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...