解析文本文件,处理新行

本文关键字:处理 新行 文件 文本 | 更新日期: 2023-09-27 18:31:22

我正在尝试编写一个简单的程序,该程序采用文本文件,将所有字符设置为小写并删除所有标点符号。我的问题是,当有一个回车符(我相信这就是它的名字)和一个新行时,空格就会被删除。

这是一个
测试句

成为

这是一句话

第一行的最后一个单词和下一行的第一个单词连接在一起。

这是我的代码:

public static void ParseDocument(String FilePath, String title)
    {
        StreamReader reader = new StreamReader(FilePath);
        StreamWriter writer = new StreamWriter("C:/Users/Matt/Documents/"+title+".txt");
        int i;
        char previous=' ';
        while ((i = reader.Read())>-1)
        {
            char c = Convert.ToChar(i);
            if (Char.IsLetter(c) | ((c==' ') & reader.Peek()!=' ') | ((c==' ') & (previous!=' ')))
            {
                c = Char.ToLower(c);
                writer.Write(c);                    
            }
            previous = c;
        }
        reader.Close();
        writer.Close();
    }

这是一个简单的问题,但我想不出检查新行以插入空格的方法。任何帮助将不胜感激。

解析文本文件,处理新行

有点取决于您如何处理空行,但这可能有效:

 char c = Convert.ToChar(i);
 if (c == ''n')  
    c = ' ';     // pretend 'n == ' ' and keep ignoring 'r
 if (Char.IsLetter(c) | ((c==' ') & reader.Peek()!=' ') | ((c==' ') & (previous!=' ')))
 {
    ...

我确实希望这是一个练习,在正常情况下,您会阅读带有System.IO.File.ReadAllLines()System.IO.File.ReadLines()的文本文件

试试

myString.Replace(Environment.NewLine, "replace text")

替换字符串 C# 中的换行符