C# 我怎样才能摆脱非数值

C# 我怎样才能摆脱非数值,c#,arrays,arraylist,C#,Arrays,Arraylist,我想删除字符串中的所有非数值,包括空格、点号等。这是银行账户,我想用另一个顺序写,只写上它的号码。我试图用c#编写一些代码,但没有成功。有人能给我写一些基本代码吗 private void btn_convert_Click(object sender, EventArgs e) { ArrayList account= new ArrayList(); for(int i=0 ; i<textBox1.Lines.Length ; i++

我想删除字符串中的所有非数值,包括空格、点号等。这是银行账户,我想用另一个顺序写,只写上它的号码。我试图用c#编写一些代码,但没有成功。有人能给我写一些基本代码吗

    private void btn_convert_Click(object sender, EventArgs e)
    {
        ArrayList account= new ArrayList();

        for(int i=0 ; i<textBox1.Lines.Length ; i++)
        {
            char[] str = textBox1.Lines[i].ToCharArray();

            for(int j=0; j<str.Length; j++ )
            {
                if ((str[j] >= 0 && str[j] <= 9) == true)
                {
                    account.Add(str[j]);
                }
                else continue;
            }

        }

        string[] newaccount= (string[])account.ToArray(typeof(string));
        label1.Text = newaccount[1];                     

    }
}
private void btn\u convert\u单击(对象发送方,事件参数e)
{
ArrayList帐户=新建ArrayList();

对于(int i=0;i最简单的方法可能是使用
Regex
,这样简单的方法就足够了:

string input = "foo-bar-123:+-456";
string result = Regex.Replace(input, @"[^\d]", "");
这将打印
123456

您的案例可能会简化为:

private void btn_convert_Click(object sender, EventArgs e)
{
   label1.Text = Regex.Replace(textBox1.Text, @"[^\d]", "");    
}

我相信你很快就会找到愿意为你工作的人。与此同时,你应该记住一些注意事项:
char
值与
0
9
等数字文字不同,不能直接与它们进行比较(试着与
'0'
'9'
进行比较);无需将字符串转换为
char[]
来为字符编制索引,字符串本身可以编制索引;您需要澄清是只想从字符串中删除非数字字符,还是忽略本身包含任何非数字字符的任何文本行。不清楚您在问什么。请参阅