2013-09-16 89 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(" ")也无操作,因为没有任何空间分割上。

你想达到什么目的?