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

あなたの最善の策はおそらく、装飾されていない文字列をフィールド/変数に保存し、ボタンの状態を記録する2つのフラグに従って、サフィックスTextとサフィックスの有無にかかわらずレンダリングすることです。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 に答える