То, что я пытался сделать, это создать строку с использованием переменных для определенных частей, а затем использовать регулярное выражение, чтобы найти и заменить его. Но по какой-то причине я не понимаю, что получаю плохую компиляцию постоянной ценности. Итак, для кода ниже "<span id=\"" + myObj.name+
dos не имеет никакой ошибки, но все остальное делает.
foreach (var myObj in listofObj)
{
string replacePattern = "<span id=\"" + myObj.name+ "\" class=\"smartfield\" contenteditable=\"false\">\[" + myObj.FullName + "\]";
Я также пробовал это
string replacePattern = @"<span id="""+ myObj.name+""" class=""smartfield"" contenteditable=""false"">\[" + myObj.FullName + "\]";
и, как и раньше, первая часть не имеет никакой ошибки, но вторая часть выбрасывает значение компиляции с плохим компилятором для "\]"
, но на этот раз говорит, что мне нужно ;
для двойных кавычек, которые я пытаюсь убежать.
РЕДАКТИРОВАТЬ
Формат строки, который я ищу, например, myObj.name
будет равным Бобу и myObj.Fullname
будет равным Бобу Баркеру, тогда y регулярное выражение будет соответствовать чему-то вроде этого <span id="Bob" class="smartfield" contenteditable="false">[Bob Barker]
Вам следует избегать \
before \[
и \]
, сделав это \\[
и \\]
:
string replacePattern = "<span id=\"" + myObj.name+ "\" class=\"smartfield\" contenteditable=\"false\">\\[" + myObj.FullName + "\\]";
Это заканчивается в читаемой пользователем строке Regex
(это правильно, так как вам нужно убежать [
и ]
для регулярного выражения):
<span id="name" class="smartfield" contenteditable="false">\[FullName\]
\[
используется для выхода из [
. Я не ищу ``
\"
, вы должны сделать то же самое для \, то есть \\.
myObj.name
? А что такое точное сообщение об ошибке?"\]"
это проблема. Нераспознанная escape-последовательность.