30

次のように、splitを使用して、コンマで区切られた複数の部分を持つ文字列を分割することは可能でしょうか。

title, genre, director, actor

最初の部分、各文字列のタイトルだけが必要で、残りは必要ありませんか?

4

4 に答える 4

78
string valueStr = "title, genre, director, actor";
var vals = valueStr.Split(',')[0];

valsはあなたにタイトルを与えます

于 2012-06-03T07:14:09.047 に答える
24

実際には、分割するよりも良い方法があります。

public string GetFirstFromSplit(string input, char delimiter)
{
    var i = input.IndexOf(delimiter);

    return i == -1 ? input : input.Substring(0, i);
}

そして拡張メソッドとして:

public static string FirstFromSplit(this string source, char delimiter)
{
    var i = source.IndexOf(delimiter);

    return i == -1 ? source : source.Substring(0, i);
}

public static string FirstFromSplit(this string source, string delimiter)
{
    var i = source.IndexOf(delimiter);

    return i == -1 ? source : source.Substring(0, i);
}

使用法:

string result = "hi, hello, sup".FirstFromSplit(',');
Console.WriteLine(result); // "hi"
于 2012-06-03T07:04:18.673 に答える
8

あなたはそれを行うことができます:

var str = "Doctor Who,Fantasy,Steven Moffat,David Tennant";

var title = str.Split(',').First();

また、この方法でそれを行うことができます:

var index = str.IndexOf(",");
var title = index < 0 ? str : str.Substring(0, index);
于 2012-06-03T07:07:34.827 に答える
0

これらは私が構築することができた2つのオプションであり、var型を操作する贅沢も、行に追加の変数を使用することもできません。

string f = "aS.".Substring(0, "aS.".IndexOf("S"));
Console.WriteLine(f);

string s = "aS.".Split("S".ToCharArray(),StringSplitOptions.RemoveEmptyEntries)[0];
Console.WriteLine(s);

これはそれが得るものです:

ここに画像の説明を入力してください

于 2018-10-16T20:34:11.000 に答える