Как я могу поместить Escape-символ перед специальными символами, используя C #? - PullRequest
3 голосов
/ 15 августа 2010
buildLetter.Append("</head>").AppendLine();
buildLetter.Append("").AppendLine();
buildLetter.Append("<style type="text/css">").AppendLine();

Предположим, что вышеупомянутое содержимое находится в файле.Я хочу написать фрагмент, который удаляет любую строку с пустой строкой "" и ставит escape-символ перед средними кавычками.Окончательный результат будет:

buildLetter.Append("</head>").AppendLine();
buildLetter.Append("<style type=\"text/css\">").AppendLine();

Внешнее "...." не считается специальными символами.Специальные символы могут быть одинарные или двойные.

Я могу запустить его с помощью функции поиска и замены в Visual Studio.Тем не менее, в моем случае я хочу, чтобы это было написано на C # или VB.NET

Любая помощь будет оценена.

1 Ответ

3 голосов
/ 15 августа 2010

Возможно, это то, что вы хотите:

string s = File.ReadAllText("input.txt");
string empty = "buildLetter.Append(\"\").AppendLine();" + Environment.NewLine;
s = s.Replace(empty, "");
s = Regex.Replace(s, @"(?<="").*(?="")",
         match => { return match.Value.Replace("\"",  "\\\""); }
    );

Результат:

buildLetter.Append("</head>").AppendLine();
buildLetter.Append("<style type=\"text/css\">").AppendLine();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...