у меня есть регулярное выражение, определенные в дословном C# строкового типа, например, так:C# Строка Формат заполнители в регулярных выражениях
private static string importFileRegex = @"^{0}(\d{4})[W|S]\.(csv|cur)";
Первая 3 буква, сразу после начала регулярных выражений строки (^) может быть одна из многих возможных комбинаций буквенных символов.
Я хочу сделать элегантную String.Format, используя выше, помещая мое 3-буквенное сочетание выбора в начале и использовать это в моем алгоритме сопоставления, как это:
string regex = String.Format(importFileRegex, "ABC");
Который даст мне регулярное выражение из ^ABC(\d{4})[W|S]\.(csv|cur)
проблемы, когда я делаю String.Format, потому что у меня есть другие фигурные скобки в строке (например, \d{4}
) String.Format ищет что-то поставить здесь, не может найти его и дает me error:
System.FormatException : Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
Кто-нибудь знает, как, не разделяя строки, я могу избежать других фигурных скобок или чего-то, чтобы избежать вышеуказанной ошибки?
То, что он сказал плюс этот вопрос также охватывает его, и ответ имеет ссылку MSDN: http://stackoverflow.com/questions/160742/how-do-you-put-and-in-a-format –
Я всегда забываю о двойных фигурных скобках. +1. – OregonGhost