📌  相关文章
📜  c# 替换所有非数字字符 - C# (1)

📅  最后修改于: 2023-12-03 15:13:51.918000             🧑  作者: Mango

用 C# 替换所有非数字字符

在 C# 编程中,你可能需要从一个字符串中去除所有非数字字符,只保留数字字符。这可能应用于数据输入、格式化等场景中。本文将介绍如何使用 C# 去除字符串中非数字字符的方法。

1. 使用正则表达式

正则表达式是一种强大的匹配模式,它可以匹配文本中的特定字符模式。我们可以使用正则表达式来匹配所有非数字字符,并将它们替换为空。

以下是一个示例代码,它使用 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

2. 使用 LINQ

另一种去除字符串中非数字字符的方法是使用 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。你可以根据实际情况选择不同的方法来实现你的需求。