号外号外: 原[图享网]更名为 码友网(codedefault.com) 啦,感谢大家一路上的陪伴与支持。代码的世界里,码友网与大家一起同行!

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

C#开发 作者: Rector 545阅读 0评论 0收藏 收藏本文

郑重申明:本文未经许可,禁止任何形式转载

问题描述

在.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#应用程序编程开发中从字符串中查找并提取数字的方法有哪些呢?

发布于: 2018-05-24 23:11:40
分享扩散: