C#实现从一堆文字中提取出数字
时间: 2024-09-19 13:08:11 浏览: 7
在C#中,你可以使用正则表达式(Regular Expression)来从文本中提取数字。`System.Text.RegularExpressions`命名空间提供了一整套工具来进行字符串模式匹配,包括找到、替换和分割文本。
下面是一个简单的例子,展示了如何使用`Regex`类找出并捕获所有数字:
```csharp
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string inputText = "在这段文字中有123、456和789三个数字";
string pattern = @"\d+"; // 匹配连续的数字
// 创建一个正则表达式实例
Regex regex = new Regex(pattern);
// 使用MatchCollection来查找所有的匹配项
MatchCollection matches = regex.Matches(inputText);
foreach (Match match in matches)
{
Console.WriteLine("找到的数字: " + match.Value);
}
// 或者直接获取全部数字的字符串列表
var numbers = matches.Cast<Match>().Select(match => match.Value).ToList();
Console.WriteLine("所有数字: " + string.Join(", ", numbers));
}
}
```
在这个示例中,`\d+` 是一个正则表达式模式,它匹配一个或多个数字。运行这个程序会输出输入文本中的所有数字。