【.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         }
时间: 2024-12-15 07:27:12

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

leetcode-1 Two Sum 找到数组中两数字和为指定和

 问题描述:在一个数组(无序)中快速找出两个数字,使得两个数字之和等于一个给定的值.假设数组中肯定存在至少一组满足要求. <剑指Offer>P214(有序数组) <编程之美>P176 Que:Given an array of integers, find twonumbers such that they add up to a specific target number. The function twoSum should return indices ofthe tw

3.键盘输入10个数,放到数组中,(1)去除该数组中大于10的数 (2)将该数组中的数字写入到本地文件number.txt中

package cn.it.text; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; /* * 3.键盘输入10个数,放到数组中 (1)去除该数组中大于10的数 (2)将该数组中的数字写入到本地文件number.txt中 */ public class Test3 { public static int[] arr = new int[10]; public static void

求出数组中所有数字的和&amp;&amp;弹出层效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

去掉有序数组中重复数字 原地 leetcode java (最简单的方法)

1.利用荷兰国旗的思路,每次记住最后一个位置,遇到一个不重复的数,放在它后面,代码很简单. Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length. Do not allocate extra space for another array, you must do this in place with consta

一个能将给定非负整数数组中的数字排列成最大数字的函数

最近在网上看到这样一个题目,自己琢磨了一下. java version "1.8.0_40" // 编写一个能将给定非负整数数组中的数字排列成最大数字的函数. // 例如,给定[50,2,1,9],最大数字为95021. public class Sort { public static void main(String args[]){ int number[] = {1,2,3,32,335,34,7,6,9}; int number1[] = {312,321,3354,222,

如何将数组中的数字按照从小到大的顺序排列???

经过视频的学习,总结了一下,大神们请指教.... 如果要将数组中的数字按照从小到大的顺序排列. 完成思路:将最小的数字放在数组的第一项,将第二小的数组放在第二项,一直重复,知道完成. 那么如何将最小的数字放在数组索引为0的位置呢? 示例: for(int j = i+1:j  < arrays.Length;j++) { if (arrays[0] > arrays[j]) { int temp = arrays[0]; arrays[0] = arrays[j]; arrays[j] = t

题目:大整数乘法、除法,楼梯走法,数组中不同数字,超过一半数字(好)

大整数乘法,可以用单个数字想乘,跟踪进位信息来处理. 大整数除法,可以先把除数增大到跟被除数相同的量级,然后累计相减.比如 555 / 3,就先把3增大到300,555能够减1次,那么结果+100,被除数变成255,依次进行. 楼梯走法:一次走一级,或者走两级.没什么难度. 数组中不同数字:如果是2n+1数组找出不同的那个数字,用异或就可以. 如果是找出超出一般数目的数字,用遍历,看到不一样的,就一起删除,这样的方式. 上网搜了一下,找出了更好的方法: 用变量记录备选数字,一个计数器记录该数字剩

实现字符串数组中字符串交换

实现字符串数组中字符串交换 2015-06-01  青岛  张俊浩 <实现字符串数组字符串交换>分为三部分: [1]论坛帖子 [2]代码思路 [3]代码.运行结果 1.论坛帖子 2.代码思路 (1)两个字符串等长正常交换即可: (2)两个字符串不等长交换短字符串宽度的字符数据(包括结束符),拷贝长字符剩余字符到短字符串数据区(此时长字符串剩余数据还在内存只是被结束符'\0'分割). 3.代码.运行结果 #include<stdio.h> void swap(char *a,char

Coursera Algorithms week3 快速排序 练习测验: Selection in two sorted arrays(从两个有序数组中寻找第K大元素)

题目原文 Selection in two sorted arrays. Given two sorted arrays a[] and b[], of sizes n1 and n2, respectively, design an algorithm to find the kth largest key. The order  of growth of the worst case running time of your algorithm should be logn, where n