Шаблон регулярного выражения для замены любого вхождения {...} фактическими значениямиC#

Место общения программистов C#
Anonymous
Шаблон регулярного выражения для замены любого вхождения {...} фактическими значениями

Сообщение Anonymous »

Я пытаюсь создать метод, который позволит мне заменить любое вхождение строки {....} на некоторые значения.
Позвольте мне привести пример: p>
public const string ProductsApi = "/api/companies/{companyId:int}/stores/{storeKey}/products";
Это минимальный Конечная точка API. В этой конкретной конечной точке у нас есть 2 значения, которые нужно заменить (это необязательно, для замены может быть 1+ значений). Итак, если CompanyId = 55 и storeKey = "se2", результат будет следующий:

Код: Выделить всё

public const string ProductPathForHttpClient = "/api/companies/55/stores/se2/products";
Чтобы свести к минимуму вероятность ошибок, я хотел бы иметь метод расширения строки, давайте назовем его Interpolate(...) для этого:

Код: Выделить всё

var productsPathForHttpClient = roductsApi.Interpolate(55, "se2");
Итак, Interpolate найдет первое вхождение {..} и заменит его первым значением, затем вторым вхождением и так далее...
'
Я могу сделать это, выполнив поиск по «{» (начало) и «}» (конец), а затем заменив эту строку
значением, а затем выполнив поиск следующего вхождения и т. д.
Мне интересно, возможно ли это с регулярным выражением? По сути, я пытаюсь свести к минимуму ошибки в вызовах API, определяя API, а затем заменяя любые {..} фактическими значениями для пути HttpClient.

Подробнее здесь: https://stackoverflow.com/questions/786 ... ual-values

Вернуться в «C#»