首页 / C#开发 / 正文

[C#].NET/C#应用程序编程开发中从字符串中查找并提取数字的方法有哪些呢?

4909 发布于: 2018-05-24 读完约需3分钟

问题描述

在.NET/C#的应用程序编程开发中,当前有需求需要从指定的字符串中查找并提取所数字,比如有如下的给定字符串:

string test = "1 test"

如何使用.NET/C#实现这样的需求呢?

方案一

使用正则表达式Regex实现,\d+这个正则表达式即为提取数字的,首先需要引用命名空间System.Text.RegularExpressions.Regex,然后使用Regex.Match()方法,具体实现如下:

resultString = Regex.Match(subjectString, @"\d+").Value;

以上结果返回的是字符串中匹配的第一个数字的子字符串,本示例中为:1,此时,我们还需用将这个子字符串1转换为数字,可以使用Int32.Parse()方法,如下:

Int32.Parse(resultString)

方案二

使用Char.IsDigit()方法,如下:

string a = "str123";
string b = string.Empty;
int val;

for (int i=0; i< a.Length; i++)
{
    if (Char.IsDigit(a[i]))
        b += a[i];
}

if (b.Length>0)
    val = int.Parse(b);

方案三

使用Regex.Split()方法,可以提取字符串中所有数字的分组,如下:

string input = "There are 4 numbers in this string: 40, 30, and 10.";
string[] numbers = Regex.Split(input, @"\D+");
foreach (string value in numbers)
{
    if (!string.IsNullOrEmpty(value))
    {
    int i = int.Parse(value);
    Console.WriteLine("Number: {0}", i);
    }
}

输出结果为:Number: 4 Number: 40 Number: 30 Number: 10

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: [C#].NET/C#应用程序开发中优雅地将一个按字节为单位的文件大小转换成人类可读的单位大小(KB,MB,GB,TB)的方法有哪些?

下一篇: [ASP.NET Core]ASP.NET Core 2.x 中如何自动扫描应用程序中的依赖注入(DI)的接口及实现并完成依赖的自动注册?

本文永久链接码友网 » [C#].NET/C#应用程序编程开发中从字符串中查找并提取数字的方法有哪些呢?

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册