11

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

,liger, unicorn, snipe

私がよく知っている他の言語では、string.trim(",") を実行できますが、C# でそれを行うにはどうすればよいですか?

ありがとう。


StartTrim 関数については、さまざまな意見が交わされてきました。何人かが指摘しているように、StartTrim はプライマリ変数には影響しません。ただし、データと質問の構造を考えると、どちらの回答を受け入れるかについては悩んでいます。確かに、質問は最後の文字ではなく最初の文字のみをトリミングすることを望んでいますが (any の場合)、データの末尾に「,」は決してありません。そうは言っても、新しい変数に割り当てられた StartTrim を使用するという最初の回答を受け入れます。

4

17 に答える 17

20
string s = ",liger, unicorn, snipe";
s.TrimStart(',');
于 2008-09-16T15:34:54.250 に答える
16
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
于 2008-09-16T15:41:28.260 に答える
4

.net 文字列は、Trim() および TrimStart() を実行できます。がかかるのでparams、次のように書くことができます。

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

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

",liger, unicorn, snipe".TrimStart(",; ".ToCharArray())
于 2008-09-16T15:37:14.760 に答える
3

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

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

于 2008-09-17T06:23:26.910 に答える
3

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

string[] animals = { "liger", "unicorn", "snipe" };
string joined = string.Join(", ", animals);
于 2008-09-16T16:58:40.133 に答える
1

あなたはこれを使うことができます

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

于 2008-09-17T05:26:24.893 に答える
1
string s = ",liger, unicorn, snipe";
s = s.TrimStart(',');

TrimStart の結果を変数に代入することが重要です。TrimStart ページにあるように、「このメソッドは現在のインスタンスの値を変更しません。代わりに、新しい文字列を返します...」。

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

于 2008-09-17T04:07:59.027 に答える
1

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

于 2008-09-16T15:36:01.643 に答える
1

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

于 2008-09-16T15:36:11.020 に答える
1

元の文字列はそのまま残されていることに注意してください。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
于 2008-09-16T15:43:13.297 に答える
0
if (s.StartsWith(",")) {
    s = s.Substring(1, s.Length - 1);
}
于 2008-09-16T15:34:32.693 に答える
0
string t = ",liger, unicorn, snipe".TrimStart(new char[] {','});
于 2008-09-16T15:35:18.760 に答える
0

他の場所と同じ方法: string.trim

于 2008-09-16T15:35:24.093 に答える
0
    string s = ",liger, tiger";

    if (s.Substring(0, 1) == ",")
        s = s.Substring(1);
于 2008-09-16T15:35:28.743 に答える
0

その文字列内の「、」のすべてのインスタンスを削除するということでしたか?

その場合、次のことができます。

s = s.Replace(",", "");
于 2008-09-16T15:35:57.323 に答える
0

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

 string o = ",liger, unicorn, snipe";
 string s = o.Substring(1);
于 2008-09-16T15:36:54.030 に答える
0

参照: http://msdn.microsoft.com/en-us/library/d4tt83f9.aspx

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

        //trimmed will contain "liger, unicorn, snipe"
        string trimmed = word.Trim(',');
于 2008-09-16T15:39:09.110 に答える