我想要一个按钮,将“Text
”添加到一个字母“Test
”。结果将是“TestText
”。现在我按另一个按钮添加“Code
”。所以现在字符串看起来像这样:“TestTextCode
”。现在我的问题:我想要它,这样如果我再次按下第一个按钮,“Text
”消失,所以只留下“TestCode
”。我知道你可以+=
添加文字,但有类似-=
的内容可以删除字符串中的特定文字吗?
答案 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"
答案 2 :(得分:0)
不,没有。您需要将String.Substring
与适当的参数一起使用,或String.Replace
将其删除。请注意,如果原始字符串已包含Text
,后者可能会变得复杂。
您最好的选择可能是将未加修饰的字符串存储在字段/变量中,然后根据记录按钮状态的两个标记处理是否使用Text
和Code
后缀进行渲染
答案 3 :(得分:0)
如果要撤消,请保留以前的版本。字符串是不可变的,所以无论如何你都要创建新字符串。
答案 4 :(得分:0)
不是直接的,但你可以检查endsWith是否输入在最后并创建一个带有子串的新字符串
答案 5 :(得分:0)
你所描述的字符串上没有运算符。另一方面,您可以使用Replace
函数。
string s = "TestTextCode";
s = s.Replace("Text", "");