mam wyrażenia regularnego, zdefiniowane w verbatim C# typu string, jak tak:C# String zastępcze format w wyrażeniach regularnych
private static string importFileRegex = @"^{0}(\d{4})[W|S]\.(csv|cur)";
Pierwsze 3 litery, zaraz po starcie linii regex (^) może być jedna z wielu możliwych kombinacji znaków alfabetu.
chcę zrobić elegancki String.Format przy użyciu wyżej, kładąc moją kombinację 3-literowy wyboru na starcie i przy użyciu tego w moim algorytm dopasowywania, tak:
string regex = String.Format(importFileRegex, "ABC");
Który da mi Problemem jest, gdy robię String.Format, ponieważ mam inne nawiasy klamrowe w ciągu (np. \d{4}
) String.Format szuka czegoś, co można tutaj umieścić, nie może go znaleźć i daje mnie błąd:
System.FormatException : Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
Ktoś wie, w jaki sposób, bez dzielenia struny, mogę uciec od innych nawiasów klamrowych lub czegoś, aby uniknąć powyższego błędu?
Co powiedział także ta kwestia dotyczy to również i odpowiedź ma związek MSDN: http://stackoverflow.com/questions/160742/how-do-you-put-in-a-format-string –
Zawsze zapominam o podwójnych nawiasach klamrowych. +1. – OregonGhost