【问题标题】:How can you trimend of textbox text from another textbox text如何从另一个文本框文本中修剪文本框文本
【发布时间】:2014-10-23 14:14:20
【问题描述】:

我有两个文本框的 textbox1(读/写)和 textbox2(只读),textbox1 是您输入文本的地方,此时您按下按钮将该文本传递到 textbox2(textbox2 不断连接来自 textbox1 的文本)。我有第二个按钮,我想按下它来删除仍在 textbox1 中的 textbox2 中的文本。谁能建议如何做到这一点?

我在想;

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

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

【问题讨论】:

    标签: c# string trim


    【解决方案1】:
    If (textbox2.Text.EndsWith(textbox1.Text))
        textbox2.Text = textbox2.Text.Substring(0, textbox2.Text.Length - textbox1.Text.Length);
    

    【讨论】:

    • 这明白了。感谢您的所有帮助:-)
    • @Kringle 如果它解决了你的问题,你可以接受答案:)
    • 干杯,没看到。我总是将鼠标悬停在上下箭头上,它告诉我我的声誉不够高。刚刚意识到我可以点击勾选接受答案...
    【解决方案2】:

    你可以这样做:

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

    【讨论】:

      【解决方案3】:

      你也可以使用Replace方法

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

      【讨论】:

        【解决方案4】:

        据我所知,您的问题归结为“如何实施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);
        

        【讨论】:

        • @serdar 的实现比我的要好得多 :)
        【解决方案5】:

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

        但是有一个问题:

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

        这也是区分大小写的。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-16
          • 2013-04-12
          • 2020-01-22
          • 1970-01-01
          • 2020-04-05
          • 1970-01-01
          • 2021-07-07
          • 1970-01-01
          相关资源
          最近更新 更多