我想寫一個簡單的程序,它需要一個文本文件,將所有字符設置爲小寫,並刪除所有標點符號。我的問題是,當有回車(我相信這就是所謂的)和一個新行,空間被刪除。解析文本文件,處理新行?
即
這是一個
測試句子
變爲
這是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