【.Net】從字串陣列中尋找數字的元素

weixin_34162629發表於2017-12-08

那是寫一個類別來處理數字元素並收集起來。

開發程式,解決方法不是唯一的。相同的功能實現,方法不止一個。

參考下面程式碼:

 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         }

 

相關文章