从字符串数组中寻找数字的元素
前几天Insus.NET有写过一篇《从字符串数组中把数字的元素找出来》http://www.cnblogs.com/insus/p/8001026.html
和它的延伸篇《C# yield关键词使用》http://www.cnblogs.com/insus/p/8003809.html
那是写一个类别来处理数字元素并收集起来。
开发程序,解决方法不是唯一的。相同的功能实现,方法不止一个。下面Insus.NET再使用另外的方法来实现,算作对基础知识的巩固与掌握。
参考下面代码:
上面#21至#30行代码,可以改用yield方法,返回循环结果:
class Ak{private string[] _stringArray;public Ak(string[] stringArray){this._stringArray = stringArray;}public IEnumerable<Digit> Result(){// var result = new List<Digit>();foreach (string s in _stringArray){string pattern = "^[0-9]";Regex regex = new Regex(pattern);if (regex.IsMatch(s))yield return new Digit(Convert.ToInt32(s));}// return result; }public void Output(){foreach (Digit d in Result()){Console.WriteLine(d.ToString());}}}
Source Code
运行结果:
得到的结果与前一篇写自定义的方法进行验证的结果一样。
为了日后方便与维护,你可以把正则验计的代码,写成一个方法,或者是扩展方法,在程序需要正则验证时,直接使用这个方法即可。达到面向对象的三个要素这一,封装:
使用正则来处理,创建一个扩展方法:
public static bool Match(this string value, string pattern){Regex regex = new Regex(pattern);return regex.IsMatch(value);}
Source Code
然后,程序代码最终可以变成这样子:
转载于:https://www.cnblogs.com/insus/p/8004590.html
从字符串数组中寻找数字的元素相关推荐
- matlab中统计数组中各数字(元素)出现的次数
1. tabulate 调用MATLAB自带的函数tabulate统计一个数组中各数字(元素)出现的频数.频率 [例1]统计数值型数组中各元素出现的频数.频率. >> x = [2 2 6 ...
- Matlab 统计数组中各数字(元素)出现的次数
如何统计一个数组中各数字(元素)出现的频数.频率和累积频率?这里以案例形式做一个总结. 第一种方法:调用MATLAB自带的函数tabulate统计一个数组中各数字(元素)出现的频数.频率 [例1]统计 ...
- 判断字符串数组中的数字是否对称
分析以下需求,并用代码实现: (1)定义数字字符串数组{"010","3223","666","7890987",&qu ...
- JavaScript在数组中寻找相同对象元素的问题
这两天在写项目的时候,我用数组存储对象元素,但是用indexOf方法寻找数组中对象的下标时出现了问题.indexOf方法一直返回-1,即没有找到对象.但我很确定数组中有该对象元素,那究竟是怎么回事呢? ...
- python numpy np.fromstring()函数(从字符串文本中提取数字,返回一维数组)(爬虫提取数字挺好用的)
from numpy\core\multiarray.py def fromstring(string, dtype=None, count=-1, sep=''): # real signature ...
- Java统计数组中各个数字出现的个数和字符串中各个字符出现的个数
一.前言 对于统计个数问题,我们一般利用HashMap来解决,其中key表示原始元素值,value表示其出现个数或出现次数.主要步骤为: 1.创建一个HashMap<Character, Int ...
- js 判断数组中是否存在某个元素(字符串,类等)
方法一:indexOf(item,start) Item:要查找的值: start:可选的整数参数,缺省则从起始位子开始查找. indexOf() 返回元素在数组中的位置,如果没有则返回-1,该方法只 ...
- 判断数组中是否包含某个元素,判断对象中是否包含某个属性,判断字符串中是否包含某个字符串片段
1-判断对象中是否包含某个元素 方法一: 使用in var str = {name:"mayouchen",name:"js", age:100 }alert( ...
- 未能比较数组中的两个元素_算法3 寻找两个正序数组的中序数
问题描述: 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出并返回这两个正序数组的中位数.要求设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题. ...
最新文章
- 如何从三流程序员成长为一名年薪50W的架构师(文末附送学习资料)
- drone + gogs 构建CI/CD
- java按钮调用 后台方法_onclick怎么调用后台中的一个方法
- WIN32 使用事件实现高效生产者消费者模型
- VTK修炼之道58:图形基本操作进阶_点云配准技术(迭代最近点ICP算法)
- JAVA NIO 实例
- [蓝桥杯]回形取数-方向向量+模拟
- ElasticSearch映射Mapping
- Adidas、金拱门、KFC、乐天玛特,零售巨头的选址秘诀都在数据里了
- Vue 子组件调用父组件的方法
- iOS开发之Runloop(转)
- 勤能补拙 VS 思考补拙
- [数据恢复答疑]删除了WINDOWS桌面上的文件,该如何恢复数据
- Android集成高德地图实现自定义Marker
- 以下选项属于python哲学内容的是_[南开大学]18秋学期(清考)《哲学与人生》在线作业...
- 娃哈哈,又c,又JAVA的,莫明其妙的
- 压电式雨量传感器数字感知降雨量
- Vue项目中设置背景图片
- ubuntu16.04下源码安装arachni扫描器
- JAVA视频学习笔记-马士兵(六)