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 に答える