2013-01-11 58 views
0

我想要一個按鈕,它將「Text」添加到說「Test」的字符串中。結果將是「TestText」。現在我按另一個按鈕,添加「Code」。所以現在字符串看起來像這樣:「TestTextCode」。現在我的問題:我想要它,如果我再次按下第一個按鈕,「Text」消失,所以只有「TestCode」將被留下。我知道你可以做+=做添加文字,但有沒有像-=類似的東西從字符串中刪除特定的文本?如何將 - =應用於字符串?

+0

是否要刪除從文本字符串的所有實例? – Gabe

+0

是的,在我的情況下,這就是我的目標。 –

回答

9
string test = ""; 
test = test.Replace("Text", ""); 
+0

這就是我要說的 – Saggio

+3

但這消除了所有「文本」的出現是所需?我的情況是 – CubeSchrauber

+0

,是的。 –

0

不,沒有。您需要使用String.Substring以及相應的參數,或者使用String.Replace將其刪除。請注意,如果原始字符串已包含Text,後者可能會變得複雜。

您最好的選擇可能是縵字符串存儲在一個字段/變量,然後只處理根據兩個標誌記錄按鈕的狀態有或無TextCode後綴渲染它。

0

如果你想要撤銷,那麼保留以前的版本。字符串是不可變的,所以無論如何你都要創建新的字符串。

0

不是直接的,但你可以用的endsWith檢查,如果在年底的輸入,並創建子

0

沒有對字符串沒有運營商像你描述了一個新的字符串。另一方面,您可以使用Replace函數。

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

您可以使用StringBuilder,如果你想使用-=語法,F.E.

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

相關問題