我如何在文件中排序空格分隔符字符串?

时间:2016-10-20 21:43:09

标签: c# regex sorting

我有一个按空格划分的文件字符串

44 34 56 25 

18 3  50 23

19 21 34 08

并输出此

25 34 44 56

3 18  23 50 

08 19 21 34 

代码

string   content = File.ReadAllText("finalregex2.txt");

string[] lines = Regex.Split(content, "( )+");

Array.Sort(lines);

我正在尝试排序,但我不知道这个命令有多完整

请帮我完成我的命令

  

cs0117字符串不包含定义

using System;
using System.IO;
using System.Text.RegularExpressions;
using System.Linq;

class Program
{

    static void Main()
    {           
        var result = File.ReadAllLines("finalregex2.txt")
                         .Where(line => !string.IsNullOrWhiteSpace(line))
                         .Select(line => string.Join(" ", line.Split( new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                                               .OrderBy(value => int.Parse(value))))
                         .ToList();
    }
}

1 个答案:

答案 0 :(得分:2)

而不是使用ReadAllText使用ReadAllLines,然后在每一行使用.Split

var result = File.ReadAllLines("finalregex2.txt")
                 .Select(line => string.Join(" ", line.Split( new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                                       .OrderBy(value => int.Parse(value)))).ToList();

如果您的真实文件中的数字与数字之间有空行,则在ReadAllLinesSelect之间添加:

.Where(line => !string.IsNullOrWhiteSpace(line))