我有一个按空格划分的文件字符串
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();
}
}
答案 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();
如果您的真实文件中的数字与数字之间有空行,则在ReadAllLines
和Select
之间添加:
.Where(line => !string.IsNullOrWhiteSpace(line))