【.Net】从字符串数组中寻找数字的元素

那是写一个类别来处理数字元素并收集起来。

开发程序,解决方法不是唯一的。相同的功能实现,方法不止一个。

参考下面代码:

 1     class Ak
 2     {
 3         private string[] _stringArray;
 4 
 5         public Ak(string[] stringArray)
 6         {
 7             this._stringArray = stringArray;
 8         }
 9 
10         public IEnumerable<Digit> Result()
11         {
12             //  var result = new List<Digit>();
13             foreach (string s in _stringArray)
14             {
15                 string pattern = "^[0-9]";
16                 Regex regex = new Regex(pattern);
17                 if (regex.IsMatch(s))
18                   yield return new Digit(Convert.ToInt32(s));
19             }
20             // return result;
21         }
22         public void Output()
23         {
24             foreach (Digit d in Result())
25             {
26                 Console.WriteLine(d.ToString());
27             }
28         }
29     }
30 

得到的结果与前一篇写自定义的方法进行验证的结果一样。

为了日后方便与维护,你可以把正则验计的代码,写成一个方法,或者是扩展方法,在程序需要正则验证时,直接使用这个方法即可。达到面向对象的三个要素这一,封装:

使用正则来处理,创建一个扩展方法:

1         public static bool Match(this string value, string pattern)
2         {
3             Regex regex = new Regex(pattern);
4             return regex.IsMatch(value);
5         }

 

posted @ 2017-12-08 14:34  杨浪  阅读(220)  评论(0编辑  收藏  举报