📌  相关文章
📜  删除c#中的所有非数字(1)

📅  最后修改于: 2023-12-03 14:50:17.889000             🧑  作者: Mango

删除C#中的所有非数字

在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#中删除所有非数字字符!