2016-10-20 32 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

相關問題