现在,您有一个 for 循环,并且您只使用您的值设置一个文本框。有很多方法可以解决这个问题。这是我的建议,假设您的第二个文本框名为 textoutput2:(我采用 Tim Schmelter 的不使用 TryParse 的想法,获取一个 int,然后将其转换为字符串。)
string Stack = "azersdj8qsdfqzer17";
string[] digits = Regex.Split(Stack, @"\D+");
textoutput.Text = "replace";
textoutput2.Text = "replace";
foreach (string value in digits)
{
if (textoutput.Text == "replace") {
textoutput.Text = value;
} else {
textoutput2.Text = value;
}
}
这仍然有点糟糕,因为它设置了第一个的文本,然后对于找到的所有其他数字,它只设置第二个,但是您可以轻松地将其扩展到您拥有的任何数量的文本框,例如有 3 个盒子:
string Stack = "azersdj8qsdfqzer17";
string[] digits = Regex.Split(Stack, @"\D+");
textoutput.Text = "replace";
textoutput2.Text = "replace";
textoutput3.Text = "replace";
foreach (string value in digits)
{
if (textoutput.Text == "replace") {
textoutput.Text = value;
} else if (textoutput2.Text == "replace") {
textoutput2.Text = value;
} else {
textoutput3.Text = value;
}
}
还有其他方法可以做到这一点,使用文本框数组或动态创建的文本框,但这是一个基本的开始。