c#循环:取提数字字符串,输入字符串x,将其中的数字字符(0到9)取出来,再逆向输出,例如输入abc123def45gh123输出32154321 输入123abab45输出54321 方法1:迭代
时间: 2024-09-29 17:11:39 浏览: 70
在 C# 中,你可以使用正则表达式和`foreach`循环结合来提取并反转输入字符串中的数字字符。这里有一个简单的示例方法:
```csharp
using System;
using System.Text.RegularExpressions;
public class Program
{
public static void Main(string[] args)
{
string x = "abc123def45gh123";
string reversedDigits = ReverseNumbersInString(x);
Console.WriteLine(reversedDigits);
// 另一个例子
string x2 = "123abab45";
string reversedDigits2 = ReverseNumbersInString(x2);
Console.WriteLine(reversedDigits2);
}
public static string ReverseNumbersInString(string input)
{
// 使用正则表达式匹配数字
MatchCollection matches = Regex.Matches(input, @"\d");
if (matches.Count == 0) return "";
StringBuilder reversedBuilder = new StringBuilder();
// 遍历匹配的数字,逆序添加
foreach (Match match in matches.Reverse())
{
reversedBuilder.Append(match.Value);
}
return reversedBuilder.ToString();
}
}
```
在这个方法中,我们首先使用`\d`正则表达式找到所有的数字字符,然后对匹配集合进行反向迭代,逐个添加到结果字符串中。
阅读全文