从文本文件中删除一些特殊字

时间:2013-03-14 21:00:34

标签: c# regex

我写了下面的代码,从文本文件中删除了一些像(是|是| am | can |将| i | we | you)等字,但它给出了错误的结果..

 Regex replacer = new Regex("\b(?:is|are|am|could|will)\b");
        using (TextWriter writer = new StreamWriter("C:\\output.txt"))
        {
            using (StreamReader reader = new StreamReader("C:\\input.txt"))
            {
                while (!reader.EndOfStream)
                {
                    string line = reader.ReadLine();
                    replacer.Replace(line, "");
                    writer.WriteLine(line);
                }
            }
            writer.Flush();
        }     

任何人帮助我......

1 个答案:

答案 0 :(得分:4)

正则表达式不会更改输入行,您应该写入文件替换结果:

 string line = reader.ReadLine();
 writer.WriteLine(replacer.Replace(line, ""));

还可以使用@字符来转义模式中的斜杠

Regex replacer = new Regex(@"\b(is|are|am|could|will)\b");