2016-10-20 30 views
-3

我有一个文件分隔字符串的空间如何在文件中对空格分隔字符串进行排序?

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

为什么不使用'string [] lines = content.Split('');'而不是正则表达式? – Tim

+0

@Tim将连续空格视为一个整体吗?虽然'StringSplitOptions.RemoveEmptyEntries'负责处理。 – GSerg

+0

你需要在'lines'中'拆分'每个字符串,并按照解析后的整数值对它们进行排序。查找'string.Split'和'int.Parse'。 –

回答

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)) 
+0

出现错误我和CS1502 cs1503 – jhonny625

+0

我展示的代码 – jhonny625

+0

cs0117串没有按包含定义 – jhonny625

相关问题