2016-08-15 8 views
0

Im пытается прочитать текстовый файл с использованием File.ReadAllText, разбить его на отдельные слова и удалить их до определенной длины. Но дело в том, что пустые строки или абзацы также учитываются в длине слова. Текст примера:Удалить пустые строки из текстового файла C#

Просто какой-то простой текст.

Тут и там.

Если бы мы должны были рассчитывать слова длины это будет выглядеть следующим образом:

Blockquote

Как вы можете видеть длину текста. и здесь стал 13.

Кодекса Здесь `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' в вашем Split – 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

не очень разборчиво, но вы могли бы String.split с StringSplitOptions.RemoveEmptyEntries:

String allLines = string.Join(" ", File.ReadAllText(filePath, Encoding.Default) 
        .Split(new string[] { " ", "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries)); 
Смежные вопросы