c#实现[简答题循环:取提数字字符串 输入字符串x,将其中的数字字符(0’到19)取出来,再逆向输出 例如输入abc123def45gh123输出32154321 输入123abab45输出54321 方法1:迭代 方法2:正则表达式
时间: 2024-09-30 22:13:45 浏览: 31
第 8 章:数组与字符串
在C#中,你可以使用两种方法实现这个功能:
**方法一:迭代**
```csharp
using System;
using System.Text;
class Program
{
static void Main(string[] args)
{
string x = "abc123def45gh123";
StringBuilder result = new StringBuilder();
foreach (char c in x)
{
if (char.IsDigit(c))
{
result.Insert(0, c); // 插入数字到结果字符串开头,实现逆序
}
}
Console.WriteLine(result.ToString());
}
}
```
**方法二:正则表达式**
```csharp
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main(string[] args)
{
string x = "abc123def45gh123";
string numbersOnly = Regex.Replace(x, @"\D", "");
char[] digits = numbersOnly.ToCharArray();
Array.Reverse(digits);
string reversedNumbers = new string(digits);
Console.WriteLine(reversedNumbers);
}
}
```
在这个例子中,我们首先使用`Regex.Replace`函数替换非数字字符,然后将剩下的数字字符转换成字符数组,通过`Array.Reverse`方法反转数组,最后组合成新的字符串。
阅读全文