2016-08-15 81 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));