2016-10-28 14 views
3

文字列の中から文字を削除しようとしています。私はこれを使って、ゲームの画面上に一体型で入力するようにしています。テキストエディタのように、矢印キーを使用してカーソルを文字列の中に移動して文字を取り除くことができます。例えば、文字列の最後から数えて特定の場所にある文字を削除します

"Hello World!" 

、次に押すとバック​​スペース(私はどこ「3」入れていない、/増やす明らかにこの数を減少させる方法を知っている)3回、左矢印を押すと、それはなるはずです。

"Hello Wold!" 

現在、私は最後に文字を削除するために、.Remove(0、text.Length - 1)を使用しています(このコードをコピー/それがうまくいくと信じていません。何か助けてくれてありがとう!

+1

http://stackoverflow.com/questions/8098556/remove-last-characters-from-a-string-in-c-an-elegant-way

substring(int startIndex, int endIndex) 

I最高の自分のように、ここで受け入れられた答えです - あなたは数字のハードコーディングを避けることができます。 –

+0

「これでうまくいくとは思わない」...試しましたか? – Jim

+0

申し訳ありませんが、それほど明確ではありませんでしたが、私はそれを試してみました。 – ZachHofmeister

答えて

5

あなたは削除する出発点と文字数を取るString.Removeoverloadを使用することができます。

string str = "Hello World!"; 
string resultStr = str.Remove(str.Length - 4, 1); 

は、最初の文字列の長さをチェックすることを確認します。

var text = "Hello World!"; 
var index = 3; 
text.Remove(text.Length - index - 1, 1); 
+0

ありがとう、同様のものを試しましたが、私はそれを後ろに持っています。そして、はい、私はそれが文字列の長さを過ぎて減少していないことを確認する必要があります。 – ZachHofmeister

1

は、これが動作しているようです。答え例えば

String s = substring(0, s.length()-3);//removes the last 3 strings. 
0

あなたがサブストリングを使用できます。

関連する問題