начиная с этого C# примера:
string myStringFormat = "I want to surround string {0} with {{ and }}";
string myStringArgs = "StringToSurround";
string myFinalString = string.Format(myStringFormat, myStringArgs);
Я хотел бы знать, существует ли быстрый и простой способ различения guish между escape-символом / последовательностью и аргументами для фигурные скобки.
Причины, по которым я спрашиваю это:
+] Я хочу предоставить некоторые функции ведения журналов и не хочу, чтобы пользователи знали о правилах двойных фигурных скобок / скобок
+] Я хочу очень быстро выполнить это различие для требований к производительности
В настоящее время единственное решение, о котором я могу подумать, - это сканирование строки в поисках фигурных скобок / скобок и некоторая проверка (анализ числа) на последующие персонажи. Возможно, регулярное выражение может быть полезным, но я не могу найти способ использовать их в этом сценарии.
Кстати, последняя ситуация, которую я хотел бы достичь, - это разрешить пользователю без исключений:
string myStringFormat = "I want to surround string {0} with { and }";
string myStringArgs = "StringToSurround";
//string myFinalString = string.Format(myStringFormat, myStringArgs); throwing exception
string myFinalString = MyCustomizedStringFormat(myStringFormat, myStringArgs);
РЕДАКТИРОВАТЬ:
извините, слово "round "было хитрым и вводящим в заблуждение, пожалуйста, рассмотрите этот пример:
string myStringFormat = "I want to append to string {0} these characters {{ and }}";
string myStringArgs = "StringToAppendTo";
string myFinalString = string.Format(myStringFormat, myStringArgs);
, дающий вывод
Я хочу добавить в строку StringToAppendTo эти символы {и}