如何摆脱非数字值

时间:2016-02-18 00:47:10

标签: 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++)
        {
            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];                     

    }
}

1 个答案:

答案 0 :(得分:-1)

最简单的方法可能是使用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]", "");    
}
相关问题