如何从另一个文本框文本中修改文本框文本

时间:2014-10-23 05:34:18

标签: c# string trim

我有两个文本框的textbox1(读/写)& textbox2(只读),textbox1是您输入文本的位置,此时您按一个按钮将该文本传递到textbox2(textbox2连续地连接textbox1中的文本)。我有一个第二个按钮,我想按来删除textbox2中仍然在textbox1中的文本。谁能建议怎么做?

我在想;

string one = textbox1.text;
string two = textbox2.text;
string newTwo = two.trimend( value of string 'one' needs to be removed );
textbox2.text = newTwo;

textbox1;
world

textbox2;
hello world

我知道这听起来很奇怪,但这对于代数计算器来说有点麻烦。

5 个答案:

答案 0 :(得分:0)

你可以这样做:

var start = two.IndexOf(one);
textbox2.text = two.Substring(start);

答案 1 :(得分:0)

您还可以使用Replace方法

string newTwo = two.Replace(one,"");

答案 2 :(得分:0)

If (textbox2.Text.EndsWith(textbox1.Text))
    textbox2.Text = textbox2.Text.Substring(0, textbox2.Text.Length - textbox1.Text.Length);

答案 3 :(得分:0)

据我所知,您的问题归结为"如何实施TrimEnd?"。您可以使用以下代码:

public static class StringExtensions
{
    public static string TrimEnd(this string str,
                                 string subject,
                                 StringComparison stringComparison)
    {
        var lastIndexOfSubject = str.LastIndexOf(subject, stringComparison);
        return (lastIndexOfSubject == -1
                || (str.Length - lastIndexOfSubject) > subject.Length)
            ? str
            : str.Substring(0, lastIndexOfSubject);
    }
}

然后是你的代码隐藏:

textbox2.text = textbox2.text.TrimEnd(textbox1.text, StringComparison.CurrentCulture);

答案 4 :(得分:0)

@jayvee是对的。用string.Empty替换就可以了。

但是有一个问题:

"Hello"中替换"Hello World"时,前导空格会保留。 newTwo将是" World"。您可能还希望通过Regex替换多个空格作为已发布的here,然后Trim()替换新的字符串。

这也是区分大小写的。