「/AuditReport」のような文字列があります。変数 rep に割り当てられます。入力すると
var r = rep.SysName.Remove(1, 1);
必要な "AuditReport" の代わりに "/uditReport" を返します。つまり、スラッシュを削除しません。どうすれば削除できますか?
.NET の文字列インデックスはゼロ ベースです。のドキュメントにRemove
は、最初の引数が「文字の削除を開始するゼロベースの位置」であると記載されています。
string r = rep.SysName.Remove(0, 1);
あるいは、Substring
私の意見では、使用する方が読みやすいです。
string r = rep.SysName.Substring(1);
TrimStart
または、要件に応じて を使用することもできます。(ただし、文字列が複数の連続するスラッシュで始まる場合TrimStart
は、それらすべてが削除されることに注意してください。)
string r = rep.SysName.TrimStart('/');
試す:
var r = rep.SysName.Remove(0, 1);
必要なもの:
var r = rep.SysName.Remove(0, 1);
最初のパラメータは start で、2 番目のパラメータは削除する文字数です。(1,1) は、最初の文字ではなく、2 番目の文字を削除します。
インデックスは 0 ベースなので、2 番目の文字を削除しています。代わりに、試してください
var r = rep.SysName.Remove(0, 1);
あなたは書く必要がありますvar r = rep.SysName.Remove(0, 1);
。VisualBasicのバックグラウンド(私のように:-))、C#の配列、文字列などは、他の言語0
のようにではなく、のインデックスで始まると思います。1
については何"/AuditReport".Replace("/","")
ですか?
.NET の文字列インデックスはゼロ ベースなので、次のようになります。
string r = rep.SysName.Remove(0, 1);
以下も使用できます。
string r = rep.SysName.Substring(1);