如何申请 - =一个字符串?

时间:2013-01-11 15:19:07

标签: c# string

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

6 个答案:

答案 0 :(得分:9)

string test = "";
test = test.Replace("Text", "");

答案 1 :(得分:3)

如果您想使用-=语法,可以使用StringBuilder,等等。

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"  

Demo

答案 2 :(得分:0)

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

您最好的选择可能是将未加修饰的字符串存储在字段/变量中,然后根据记录按钮状态的两个标记处理是否使用TextCode后缀进行渲染

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

string s = "TestTextCode";
s = s.Replace("Text", "");