C#,使用正则表达式,把“123”按照“1”、“2”、“3”的方式提取出来保存在string的数组中
时间: 2023-11-05 09:04:40 浏览: 90
可以使用正则表达式中的捕获组来实现这个需求。
以下是一个示例代码:
```csharp
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string input = "123";
string pattern = @"(\d)";
MatchCollection matches = Regex.Matches(input, pattern);
string[] result = new string[matches.Count];
for (int i = 0; i < matches.Count; i++)
{
result[i] = matches[i].Groups[1].Value;
}
Console.WriteLine(string.Join(",", result));
}
}
```
输出结果为:
```
1,2,3
```
在正则表达式中,`(\d)` 表示一个数字,并使用了一个捕获组来将其提取出来。`Regex.Matches` 方法可以找到所有匹配的结果,每个匹配结果的 `Groups[1].Value` 属性就是一个数字。
最后,将所有数字保存在一个字符串数组中,并使用 `string.Join` 方法将它们连接成一个字符串输出。
相关问题
c#用正则表达式提取出字符串中的数字
您可以使用正则表达式来提取字符串中的数字。在C#中,可以使用Regex类来处理正则表达式。下面是一个示例代码,演示了如何提取字符串中的数字:
```csharp
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string input = "abc123def456ghi789";
string pattern = @"\d+";
MatchCollection matches = Regex.Matches(input, pattern);
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
}
}
```
在上述示例中,我们定义了一个输入字符串`input`,以及一个匹配模式`pattern`,该模式使用`\d+`表示匹配一个或多个数字。然后,我们使用`Regex.Matches`方法来找到所有匹配的结果,并使用`foreach`循环打印每个匹配的数字。
执行上述代码,输出将为:
```
123
456
789
```
这样,您就成功提取出了字符串中的数字。
C# 正则表达式提取英文和数字
C# 中的正则表达式(Regular Expression)是一种强大的文本处理工具,可以用于从字符串中提取特定模式的内容,包括英文字符和数字。例如,如果你想提取所有英文单词和数字,你可以使用以下正则表达式:
```csharp
string input = "Hello World! This is a sample string with 123 numbers.";
string pattern = @"\b\w+\b|\d+"; // \b 表示单词边界,\w+ 匹配一个或多个字母、数字或下划线,\d+ 匹配一个或多个数字
MatchCollection matches = Regex.Matches(input, pattern);
foreach (Match match in matches)
{
Console.WriteLine(match.Value); // 打印匹配到的内容
}
```
这个正则表达式会匹配所有的连续英文字母组合(英文单词)以及连续的数字。`Regex.Matches()` 方法会在输入字符串中查找所有匹配的实例,并返回一个 `MatchCollection` 对象。
阅读全文