用c#实现循环:取提数字字符串 输入字符串x,将其中的数字字符('0'到'9')取出来,再逆向输出 方法1:迭代 方法2:正则表达式
时间: 2024-09-29 22:09:36 浏览: 53
在C#中,我们可以使用两种方法实现这个功能:
**方法1:迭代**
```csharp
using System;
using System.Text;
public class Program
{
public static string ExtractAndReverseNumbers(string x)
{
StringBuilder result = new StringBuilder();
foreach (char c in x)
{
if (Char.IsDigit(c))
result.Insert(0, c); // 插入到结果字符串的开头,实现逆序
}
return result.ToString();
}
public static void Main()
{
string input = "abc123def456";
Console.WriteLine(ExtractAndReverseNumbers(input));
}
}
```
**方法2:正则表达式**
```csharp
using System;
using System.Text.RegularExpressions;
public class Program
{
public static string ExtractAndReverseNumbersRegex(string x)
{
string pattern = @"\d"; // 匹配所有数字字符
MatchCollection matches = Regex.Matches(x, pattern);
char[] digits = matches.Cast<Match>().Select(match => match.Value).ToArray(); // 提取数字并转换为数组
Array.Reverse(digits); // 逆序数组
return new string(digits);
}
public static void Main()
{
string input = "abc123def456";
Console.WriteLine(ExtractAndReverseNumbersRegex(input));
}
}
```
在这两个例子中,`Main`函数用于测试提供的输入字符串。
阅读全文