У меня есть путь + имя файла, который содержит [] несколько раз.
То, что я хочу сделать, это поместить [] вокруг каждого [как так:
E: \ Test \ Bananas [в клетке], когда [слоны] смеются.png
Заменено на
E: \ Test \ Bananas [[] в клетке []], когда [[] elephants [] ]augh.png
Причина этого здесь:
DataRow[] tempRows = filenames.Select("File like '" + tempLogElement + "'");
Сбой при появлении пути, содержащего квадратные скобки. Это потому, что [] используются для экранирования * и% в таком выражении типа «как». Чтобы избежать этого, нужно избегать escape-символов ....
Я не удивительный в Regex, но я получил примерно здесь:
Regex.Replace(tempLogElement, "(\[*\])", "[]]", RegexOptions.IgnoreCase);
Это только экранирует символ], но не [символ.
Это не будет работать:
tempLogElement.Replace("[","[[]").Replace("]","[]]")
Вторая замена испортит первую замену. Поэтому я решил, что мне нужно использовать что-то, что сделало это за одну операцию. И первое, что пришло в голову, это Regex.