1

我编写以下代码从文本文件中删除一些像 (is|are|am|could|will|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();
        }     

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

4

1 回答 1

4

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

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

也使用@字符来转义模式中的斜杠

Regex replacer = new Regex(@"\b(is|are|am|could|will)\b");
于 2013-03-14T21:06:04.300 回答