📅  最后修改于: 2023-12-03 15:13:51.918000             🧑  作者: Mango
在 C# 编程中,你可能需要从一个字符串中去除所有非数字字符,只保留数字字符。这可能应用于数据输入、格式化等场景中。本文将介绍如何使用 C# 去除字符串中非数字字符的方法。
正则表达式是一种强大的匹配模式,它可以匹配文本中的特定字符模式。我们可以使用正则表达式来匹配所有非数字字符,并将它们替换为空。
以下是一个示例代码,它使用 Regex.Replace
方法去除字符串中的所有非数字字符:
using System.Text.RegularExpressions;
class Program
{
static void Main(string[] args)
{
string input = "abc123def456";
string output = Regex.Replace(input, @"\D", "");
Console.WriteLine(output);
}
}
在上面的代码中,我们使用了 \D
正则表达式模式,它可以匹配所有非数字字符。Regex.Replace
方法将字符串中所有匹配 \D
模式的字符替换为空字符串。最终输出结果为 123456
。
另一种去除字符串中非数字字符的方法是使用 LINQ。我们可以使用 LINQ 中的 Where
方法过滤非数字字符,然后使用 string.Join
方法将结果连接为一个字符串。
以下是该方法的示例代码:
using System.Linq;
class Program
{
static void Main(string[] args)
{
string input = "abc123def456";
string output = string.Join("", input.Where(c => char.IsDigit(c)));
Console.WriteLine(output);
}
}
在上面的代码中,我们使用 Where
方法过滤非数字字符。char.IsDigit
方法用于判断字符是否为数字字符。最终输出结果为 123456
。
本文介绍了两种去除字符串中非数字字符的方法,分别使用了正则表达式和 LINQ。你可以根据实际情况选择不同的方法来实现你的需求。