4

「/AuditReport」のような文字列があります。変数 rep に割り当てられます。入力すると

var r = rep.SysName.Remove(1, 1);

必要な "AuditReport" の代わりに "/uditReport" を返します。つまり、スラッシュを削除しません。どうすれば削除できますか?

4

8 に答える 8

18

.NET の文字列インデックスはゼロ ベースです。のドキュメントにRemoveは、最初の引数が「文字の削除を開始するゼロベースの位置」であると記載されています。

string r = rep.SysName.Remove(0, 1);

あるいは、Substring私の意見では、使用する方が読みやすいです。

string r = rep.SysName.Substring(1);

TrimStartまたは、要件に応じて を使用することもできます。(ただし、文字列が複数の連続するスラッシュで始まる場合TrimStartは、それらすべてが削除されることに注意してください。)

string r = rep.SysName.TrimStart('/');
于 2011-11-25T08:22:13.090 に答える
6

試す:

var r = rep.SysName.Remove(0, 1);
于 2011-11-25T08:21:24.190 に答える
4

必要なもの:

var r = rep.SysName.Remove(0, 1);

最初のパラメータは start で、2 番目のパラメータは削除する文字数です。(1,1) は、最初の文字ではなく、2 番目の文字を削除します。

于 2011-11-25T08:21:36.077 に答える
2

インデックスは 0 ベースなので、2 番目の文字を削除しています。代わりに、試してください

var r = rep.SysName.Remove(0, 1);
于 2011-11-25T08:22:45.837 に答える
0

あなたは書く必要がありますvar r = rep.SysName.Remove(0, 1);。VisualBasicのバックグラウンド(私のように:-))、C#の配列、文字列などは、他の言語0のようにではなく、のインデックスで始まると思います。1

于 2011-11-25T08:24:08.793 に答える
0

については何"/AuditReport".Replace("/","")ですか?

于 2011-11-25T08:23:34.727 に答える
0

.NET の文字列インデックスはゼロ ベースなので、次のようになります。

string r = rep.SysName.Remove(0, 1);

以下も使用できます。

string r = rep.SysName.Substring(1);
于 2011-11-25T08:23:39.220 に答える