📅  最后修改于: 2023-12-03 14:50:17.889000             🧑  作者: Mango
在C#中,有时候我们需要从字符串中删除所有非数字字符。这可能是因为我们想提取一个整数值,或者我们想清除字符串中的非数字字符。
下面是一个C#方法,可以删除一个字符串中的所有非数字字符:
using System;
using System.Text.RegularExpressions;
public class Program
{
public static void Main()
{
string input = "abc123def456ghi789";
string result = RemoveNonDigits(input);
Console.WriteLine(result);
}
public static string RemoveNonDigits(string input)
{
Regex regex = new Regex("[^0-9]");
return regex.Replace(input, "");
}
}
上述代码中,我们使用了一个正则表达式来匹配所有非数字字符([^0-9]
),然后使用Replace
方法将其替换为空字符串。
该方法的输出为:
123456789
我们可以看到,所有的非数字字符已从字符串中删除。
此外,如果您只需要保留字符串中的数字字符,您可以使用正则表达式的Matches
方法来提取所有的数字字符:
using System;
using System.Text.RegularExpressions;
public class Program
{
public static void Main()
{
string input = "abc123def456ghi789";
string result = ExtractDigits(input);
Console.WriteLine(result);
}
public static string ExtractDigits(string input)
{
Regex regex = new Regex("[0-9]");
string output = "";
MatchCollection matches = regex.Matches(input);
foreach (Match match in matches)
{
output += match.Value;
}
return output;
}
}
上述代码中,我们使用了正则表达式[0-9]
来匹配所有的数字字符,并通过Matches
方法来获取所有匹配项。然后,我们遍历匹配项,将其添加到最终的输出字符串中。
该方法的输出为:
123456789
这样,我们只保留了字符串中的数字字符。
希望这些介绍和示例能帮助到您,在C#中删除所有非数字字符!