文字列の先頭のカンマをトリミングするにはどうすればよいですか

StackOverflow https://stackoverflow.com/questions/73629

  •  09-06-2019
  •  | 
  •  

質問

以下のような文字列があります。

,liger, unicorn, snipe

私が使い慣れている他の言語では、単に string.trim(",") を実行できますが、C# ではどうすればよいでしょうか?

ありがとう。


StartTrim 関数については多くの議論が行われてきました。何人かが指摘しているように、StartTrim は主変数には影響しません。しかし、データの構造と質問を考えると、どちらの答えを受け入れるべきか迷っています。確かに、質問では最初の文字のみが削除され、最後の文字は削除されません(もしあれば)。ただし、データの末尾に「,」が存在することはありません。したがって、そうは言っても、新しい変数に割り当てられたStartTrimを使用するという最初の答えを受け入れるつもりです。

役に立ちましたか?

解決

string sample = ",liger, unicorn, snipe";
sample = sample.TrimStart(','); // to remove just the first comma

多分:

sample = sample.Trim().TrimStart(','); // to remove any whitespace and then the first comma

他のヒント

string s = ",liger, unicorn, snipe";
s.TrimStart(',');

.net 文字列は Trim() と TrimStart() を実行できます。かかるから params, 、 あなたは書ける:

",liger, unicorn, snipe".TrimStart(',')

トリムする文字が複数ある場合は、次のように記述できます。

",liger, unicorn, snipe".TrimStart(",; ".ToCharArray())

まず先頭のカンマを生成しない簡単な方法を次に示します。

string[] animals = { "liger", "unicorn", "snipe" };
string joined = string.Join(", ", animals);

string.TrimStart(',') はカンマを削除しますが、カンマの後のスペースにより分割操作で問題が発生します。単一のカンマだけで結合するか、使用するのが最善です

Split(", ".ToCharArray(),StringSplitOptions.RemoveEmptyEntries);

",ライガー, ユニコーン, スナイプ".Trim(',') -> "ライガー、ユニコーン、スナイプ"

string.Trim(',') を試して、それが希望どおりに動作するかどうかを確認してください。

注意してください、 オリジナル 文字列が変更されていない場合、Trim は新しい文字列を返します。

string s1 = ",abc,d";
string s2 = s1.TrimStart(",".ToCharArray());
Console.WriteLine("s1 = {0}", s1);
Console.WriteLine("s2 = {0}", s2);

プリント:

s1 = ,abc,d
s2 = abc,d
string s = ",liger, unicorn, snipe";
s = s.TrimStart(',');

TrimStart の結果を変数に割り当てることが重要です。に書かれているように、 トリムスタートページ, "このメソッドは現在のインスタンスの値を変更しません。代わりに、新しい文字列が返されます...」。

.NET では、文字列は変更されません。

これを使えます

、ライガー、ユニコーン、スナイプ".TrimStart(',');

if (s.StartsWith(",")) {
    s = s.Substring(1, s.Length - 1);
}
string t = ",liger, unicorn, snipe".TrimStart(new char[] {','});

他の場所と同じ方法: 文字列.トリム

    string s = ",liger, tiger";

    if (s.Substring(0, 1) == ",")
        s = s.Substring(1);

その文字列内の「,」のすべてのインスタンスを削除するという意味ですか?

その場合、次のようにすることができます。

s = s.Replace(",", "");

最初の文字を無視するには、Substring を使用するだけです (または、別の文字列に割り当てます)。

 string o = ",liger, unicorn, snipe";
 string s = o.Substring(1);

見る: http://msdn.microsoft.com/en-us/library/d4tt83f9.aspx

        string animals = ",liger, unicorn, snipe";

        //trimmed will contain "liger, unicorn, snipe"
        string trimmed = word.Trim(',');
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top