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

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

Сообщение Anonymous »

Я пытаюсь создать метод, который позволит мне заменить любое вхождение строки {.... некоторыми значениями.
Позвольте мне дать вам пример:

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

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 найдет первое вхождение {.. и заменит его первым значением, затем вторым вхождением и так далее...< /p>
Я могу сделать это, выполнив поиск по { (начало) и (конец), а затем заменив эту строку значением, а затем выполнив поиск следующего вхождения и т. д. .
Мне интересно, возможно ли это с помощью регулярных выражений? По сути, я пытаюсь свести к минимуму ошибки в вызовах API, определяя API, а затем заменяя любые {.. фактическими значениями для пути HttpClient.

Подробнее здесь: https://stackoverflow.com/questions/786 ... ual-values
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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