c#实现从字符串数组中把数字的元素找出来

要实现从字符串数组中把数字的元素找出来,可以采用正则表达式的方法。具体实现步骤如下:

步骤一:引入命名空间

using System.Text.RegularExpressions;

步骤二:定义字符串数组

string[] source = { "123", "abc", "45.6", "efg", "789" };

步骤三:定义正则表达式

Regex regex = new Regex(@"\d+");

其中正则表达式@"\d+"表示查找字符串中的一个或多个数字。

步骤四:从字符串数组中找出符合要求的数字元素

var result = Array.FindAll(source, s => regex.IsMatch(s));

上述代码用到了Array.FindAll()方法和Lambda表达式,查找数组source中所有符合正则表达式规则的元素。

示例一:查找整数类型数字

下面是查找整数类型数字的示例:

string[] source = { "123", "abc", "45.6", "efg", "789" };
Regex regex = new Regex(@"\d+");
var result = Array.FindAll(source, s => regex.IsMatch(s) && Int32.TryParse(s, out _));
Console.WriteLine("整型数字: " + string.Join(", ", result));

输出结果为:整型数字: 123, 789

示例二:查找浮点类型数字

下面是查找浮点类型数字的示例:

string[] source = { "123", "abc", "45.6", "efg", "789" };
Regex regex = new Regex(@"\d+\.\d+");
var result = Array.FindAll(source, s => regex.IsMatch(s) && Double.TryParse(s, out _));
Console.WriteLine("浮点型数字: " + string.Join(", ", result));

输出结果为:浮点型数字: 45.6

需要注意的是,在示例二中使用的正则表达式为:\d+\.\d+,表示查找字符串中至少有一个小数点,并且小数点前后都有数字。

至此,就完成了“c#实现从字符串数组中把数字的元素找出来”的全部攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c#实现从字符串数组中把数字的元素找出来 - Python技术站

(0)
上一篇 2023年6月7日
下一篇 2023年6月7日

相关文章

  • 【开源游戏】Legends-Of-Heroes 基于ET 7.2的双端C#(.net7 + Unity3d)多人在线英雄联盟风格的球球大作战游戏。

    Legends-Of-Heroes 一个LOL风格的球球大作战游戏,基于ET7.2,使用状态同步  Main 基于C#双端框架[ET7.2],同步到ET主干详情请看日志。(https://github.com/egametang/ET) 注意:已经升级.Net7,请安装.Net7 SDK. 此游戏为ET7.2的一个实践项目demo,玩法主要是球球大作战类型的…

    C# 2023年5月9日
    00
  • asp.net 数字签名实例代码

    为了实现数字签名,我们需要使用ASP.NET自带的RSACryptoServiceProvider类。该类可以生成密钥对,对消息进行数字签名,以及验证数字签名。下面是实现数字签名的详细步骤: 步骤一:生成密钥对 首先,我们需要生成一个RSA密钥对,用于数字签名。我们可以使用以下代码生成密钥对: // 创建一个RSA实例 using (var rsa = ne…

    C# 2023年5月31日
    00
  • C# Linq的SkipWhile()方法 – 跳过序列中的元素,直到某个元素不满足

    下面是关于 C# Linq 的 SkipWhile() 的完整攻略。 SkipWhile() 简介 SkipWhile() 方法是 C# Linq 中的一种用来过滤序列的方法,其参数为一个带有一个参数和一个返回bool类型的委托,该委托定义了决定跳过哪些元素的方法。SkipWhile() 方法会跳过序列中开头符合条件的元素,直到遇到第一个不符合条件的元素为止…

    C# 2023年4月19日
    00
  • 基于C#实现的轻量级多线程队列图文详解

    基于C#实现的轻量级多线程队列 简介 本文将介绍如何使用C#实现一个轻量级多线程队列,用于在高并发场景下,实现多线程之间的任务分发,以提高程序的效率。该队列使用了ConcurrentQueue和ManualResetEvent两个工具实现。 实现步骤 创建一个实现了IDisposable接口的队列类ThreadQueue,并在该类中定义私有字段: priva…

    C# 2023年6月6日
    00
  • C# 函数返回多个值的方法详情

    下面我给你讲解一下C#函数返回多个值的方法详情: 1. 使用out关键字 使用out关键字是一个简单的方式,可以让函数返回多个值。out参数必须在方法内部赋值,否则编译器会报错。下面是一个返回三个整数的函数示例: public void GetValues(out int val1, out int val2, out int val3) { val1 = …

    C# 2023年5月15日
    00
  • Unity实现简单的多人聊天工具

    Unity实现简单的多人聊天工具攻略 前置知识 在进行本教程实践之前,你需要掌握以下知识: 基本的Unity游戏开发知识 C#编程语言基础 网络编程基础知识 准备工作 在进行本教程实践之前,你需要准备以下工具: Unity引擎 Visual Studio编程工具 Photon Unity Network插件 Git版本控制工具 实现步骤 Step 1. 引入…

    C# 2023年6月3日
    00
  • ASP.NET中下载文件的几种实例代码

    ASP.NET中下载文件的几种实例代码可以分为以下几种: 方法1:使用Response对象下载文件 使用Response对象下载文件是最简单和直接的方式,可以在服务器端使用C#代码将文件发送到客户端。 protected void btnDownload_Click(object sender, EventArgs e) { string filePath …

    C# 2023年5月31日
    00
  • C# 设计模式系列教程-命令模式

    C# 设计模式系列教程-命令模式 什么是命令模式 命令模式是一种行为设计模式,它能把请求或操作封装起来,以便在不同上下文中进行参数化、延迟执行或支持撤销操作。命令模式把命令的发送者和接收者解耦,并且把命令操作封装成对象,这些对象可以用队列进行管理。 在命令模式中,任何对象都可以扮演“命令”的角色,唯一的要求是具备两项能力: 执行这个请求的操作。 把请求的接收…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部