如何使用C#在特殊字符之前放置转义字符?

时间:2010-08-15 09:47:43

标签: c# .net asp.net vb.net winforms

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

假设上述内容存在于文件中。我想写一个片段 删除任何具有空字符串“”的行并在之前放置转义字符 中间的引文。最终的输出是:

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

外部“......”不被视为特殊字符。特殊字符可以是单个字符 引用或双引号。

我可以通过Visual Studio的查找和替换功能来运行它。但是,就我而言,我 希望它用c#或VB.NET编写

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

也许这就是你想要的:

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();