按字数对文件进行排序

时间:2017-04-13 07:56:34

标签: c# winforms

基本上我需要按单词数对文件进行排序,所以如果文件包含以下文本,则需要:

  1. 这是第四次
  2. 这是第二行
  3. 这是第三次
  4. 这是第一行词
  5. 我需要对它进行分类:

    1. 这是第一行词
    2. 这是第二行
    3. 这是第三个
    4. 这是第四次
    5. 所以按一行上的单词数排序。

3 个答案:

答案 0 :(得分:3)

如果单词用空格分隔:

var sortedLines = File.ReadLines(path).OrderByDescending(line => line.Split().Length);

如果您不想计算连续或前导/尾随空格:

var sortedLines = File.ReadLines(path)
.OrderByDescending(line => line.Trim().Split(new char[]{},StringSplitOptions.RemoveEmptyEntries).Length);

使用Split()Split(new char[],...)将按white-space characters拆分,其中包括换行符,空格符或制表符。

如果您想要添加其他内容,则必须手动构建char[]string[]

答案 1 :(得分:0)

string[] lines = File.ReadAllLines(@"E:\1.txt");
var sotedLines = lines.OrderByDescending(line => line.Split().Length)
.ToList();

答案 2 :(得分:0)

    static void Main(String[] args) {

        var lines = File.ReadAllLines(args[0]);
        lines.OrderByDescending(s => s.Split().Count());
        File.WriteAllLines(args[0], lines);
    }