Шаблон регулярного выражения для замены любого вхождения {...} фактическими значениями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
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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