2016-08-15 43 views
0

我試圖使用File.ReadAllText來讀取文本文件,將其分解爲單個單詞並刪除那些低於特定長度的文本文件。但是,空白的行或段落也是一個字長的數字。 文本示例:從文本文件中刪除空行c#

只是一些簡單的文字。

這裏和那裏。

如果我們計算單詞長度會是這樣的:

Blockquote

正如你可以看到文本的長度。和這裏成了13

Here`s代碼

var allLines = 
      File.ReadAllText(filePath, Encoding.Default) 
       .Split(' ') 
       .Where(c => c.Length > wordLength) 
       .Select(word => word); 
     var newLine = string.Join(" ", allLines); 

感謝提前:)

+1

您需要在分割中包含回車'\ r'和換行'\ n' – SpaceghostAli

回答

1

結合來自SpaceghostAli的評論以及Theofanis Pantelides的回答:

 var allLines = 
      File.ReadAllText(filePath, Encoding.Default) 
      .Split(" \r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries) 
      .Where(c => c.Length > wordLength); 
+0

謝謝,完全錯過了它 –

3

不是很清晰,但你可以用StringSplitOptions.RemoveEmptyEntries String.Split:

String allLines = string.Join(" ", File.ReadAllText(filePath, Encoding.Default) 
        .Split(new string[] { " ", "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries));