0

我想要一个将“”添加Text到显示“”的字符串的按钮Test。结果将是“ TestText”。现在我按下另一个添加“ Code”的按钮。所以现在字符串看起来像这样:“ TestTextCode”。现在我的问题是:我想要这样,如果我再次按下第一个按钮,“ Text”就会消失,所以只剩下“ TestCode”。我知道你可以+=添加文本,但有没有类似-=从字符串中删除特定文本的东西?

4

6 回答 6

9
string test = "";
test = test.Replace("Text", "");
于 2013-01-11T15:20:52.483 回答
3

StringBuilder如果你想使用语法,你可以使用 a -=,fe

string textString = "Text";
string codeString = "Code";

var textBuilder = new StringBuilder("Test"); // "Test"
// simulate the text-button-click:
textBuilder.Append(textString); // "TestText"  
// simulate the code-button-click:
textBuilder.Append(codeString); // "TestTextCode"  
// simulate the remove-text-button-click:
textBuilder.Length -= textString.Length; // "TestText"  
// simulate the remove-code-button-click:
textBuilder.Length -= codeString.Length; // "Test"  

演示

于 2013-01-11T15:25:39.590 回答
0

不,没有。您需要使用String.Substring适当的参数,或者String.Replace将其删除。请注意,如果原始字符串已经包含,后者可能会变得复杂Text

您最好的选择可能是将未修饰的字符串存储在字段/变量中,然后根据记录按钮状态的两个标志来处理带有或不带有Textand后缀的渲染它。Code

于 2013-01-11T15:20:53.017 回答
0

如果要撤消,请保留以前的版本。字符串是不可变的,所以无论如何你都要创建一个新的。

于 2013-01-11T15:21:41.883 回答
0

不是直接的,但您可以检查 endsWith 是否在最后输入并创建一个带有子字符串的新字符串

于 2013-01-11T15:21:52.543 回答
0

字符串上没有您所描述的运算符。另一方面,您可以使用Replace函数。

string s = "TestTextCode";
s = s.Replace("Text", "");
于 2013-01-11T15:22:35.067 回答