我想要删除字符串中的所有非数字值,包括空格,点动标记等。这是银行账户,我想只用其号码在另一个订单中写。我试着在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];
}
}
答案 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]", "");
}