2013-09-16 85 views
-1

我繼承了一個軟件具有一定的正則表達式的代碼吧。正則表達式不返回數組

此刻,代碼返回一個長字符串代替3-字符串數組。

我剛纔似乎並不像它看起來的權利來解決它。

這是代碼:

public class EntryLine 
{ 
    public string[] Numbers; 
} 

var result = (from l in Regex.Replace("060926404345061418284348021622343942", "(.{1,2})", "$1").Split(' ') 
         select new EntryLine() { Numbers = Regex.Replace(l, "(.{2})", "$1").Split(' ') }).ToArray(); 

任何幫助將不勝感激!

謝謝

+0

是什麼你正在試圖做這樣的事情'var nums = Regex.Matches(「060926404345061418284348021622343942」,「(。{1,2})」)。Cast ().Select(m => m.Value ).ToList();' – I4V

+0

的代碼沒有做任何事情,它每兩個字符替換自己,然後圍繞一個空間,也沒有做任何分裂,因爲沒有任何空格!? –

+0

謝謝 - 我現在可以看到代碼什麼都不做。我的歉意......看來,它是一個創建了「060926404345061418284348021622343942」這是問題的功能 –

回答

2

此代碼沒有任何意義。

Regex.Replace("060926404345061418284348021622343942", "(.{1,2})", "$1") 

是一個空操作 - 各組的兩個字符(或最後的單個字符)由本身取代。下一個正則表達式也是如此。

以下.split(" ")也無操作,因爲沒有任何空間分割上。

你想達到什麼目的?