更改文本框中的特定字符

时间:2018-12-02 10:39:14

标签: c# string

我在这里是菜鸟,所以我问的时候可能会犯一些错误,我从现在开始道歉。 我有一个项目,在这个项目中,我有3个文本框。并且我需要将textBox1.Text转换为我设置的int值。

 private void textBox1_TextChanged(object sender, EventArgs e)
    {
        string a = "a";
        string b = "b";
        if (textBox1.Text.Contains(a))
        {
            textBox3.Text = a.Replace("a", "1");
        }
        if (textBox1.Text.Contains(b))
        {
            textBox3.Text = b.Replace("b","2");
        }

    }

但是它只是在只有a或b的情况下进行转换,而不是像bab ab aa bb cab等输入时进行转换

我需要它来转换 all 个a或b个字符。

2 个答案:

答案 0 :(得分:2)

private void textBox1_TextChanged(object sender, EventArgs e)
{
    if (textBox1.Text.Contains("a"))
        textBox3.Text = textBox3.Text.Replace("a", "1");

    if (textBox1.Text.Contains("b"))
        textBox3.Text = textBox3.Text.Replace("b", "2");
}

您需要做的是在文本框(Replace())的实际内容上调用textBox3.Text方法,然后将替换后的文本存储回文本框。

答案 1 :(得分:0)

string input = @"ababa baba aabb";
string pattern = @"a|b";
string x = Regex.Replace(input, pattern, m => m.Value == "a" ? "1" : m.Value == "b" ? "2" : m.Value);
// Output: 12121 2121 1122