解析文本文件,处理新行
本文关键字:处理 新行 文件 文本 | 更新日期: 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# 中的换行符