C# 更改文本框中的特定字符

C# 更改文本框中的特定字符,c#,string,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))

我是这里的一个无名小卒,所以我可能会在提问时犯一些错误,从现在开始我道歉。 我有一个项目,在这个项目中我有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

我需要它来转换所有a或b字符

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");
}
您需要对文本框的实际内容(
textBox3.Text
)调用
Replace()
方法,然后将替换的文本存储回文本框

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

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

这是因为您使用
否则如果
,它将执行其中一个操作。摆脱
其他
。这里也不需要字符串插值(
$
),可以删除。好的,非常感谢。我会试着在一分钟后回到这里还有一个问题,它只是替换textbox3的文本,我需要的是将所有a或b转换为1或2,但它只是转换其中一个并在1个图表后停止执行。这是因为您使用
,否则如果
,它将执行一个或另一个。摆脱
其他
。这里也不需要字符串插值(
$
),可以删除。好的,非常感谢。我会试着在一分钟后回来这里还有一个问题,它只是替换textbox3的文本,我需要的是将所有a或b转换为1或2,但它只是转换其中一个并在1个字符后停止执行。对不起,但我们怎么做:)我是一个noob:)哦!现在我明白了,非常感谢!老兄,我真是太感谢你了,它真的很管用!你让我现在很快乐,希望上帝让你比我更快乐……嗯,对不起,我们该怎么做:)我是个傻瓜:)哦!现在我明白了,非常感谢!老兄,我真是太感谢你了,它真的很管用!你现在让我很快乐,希望上帝让你比我更快乐…是的,那是另一种方式,thnx非常先生。是的,那是另一种方式,thnx非常先生。
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