我想写一个简单的程序,它需要一个文本文件,将所有字符设置为小写,并删除所有标点符号。我的问题是,当有回车(我相信这就是所谓的)和一个新行,空间被删除。解析文本文件,处理新行?
即
这是一个
测试句子
变为
这是atestsentence
第一行的最后一个字和下一行的第一个单词被加入。
这是我的代码:
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();
}
这是一个简单的问题,但我想不出检查新行插入空间的方式。任何帮助是极大的赞赏。
一个文本文件,你想换行保持不动,是吗?在这种情况下,不要只检查字母;检查回车和换行。 – 2012-04-16 16:35:57
关于在Reader和Writer中使用'using()'的强制性注释。 – 2012-04-16 16:40:15