Je me demande s’il est possible d’utiliser split pour séparer une chaîne de plusieurs parties séparées par une virgule, comme ceci:
title, genre, director, actor
Je veux juste la première partie, le titre de chaque chaîne et pas le rest?
ssortingng valueStr = "title, genre, director, actor"; var vals = valueStr.Split(',')[0];
Vals vous donnera le titre
En fait, il existe un meilleur moyen de le faire que de scinder:
public ssortingng GetFirstFromSplit(ssortingng input, char delimiter) { var i = input.IndexOf(delimiter); return i == -1 ? input : input.Subssortingng(0, i); }
Et comme méthodes d’extension:
public static ssortingng FirstFromSplit(this ssortingng source, char delimiter) { var i = source.IndexOf(delimiter); return i == -1 ? source : source.Subssortingng(0, i); } public static ssortingng FirstFromSplit(this ssortingng source, ssortingng delimiter) { var i = source.IndexOf(delimiter); return i == -1 ? source : source.Subssortingng(0, i); }
Usage:
ssortingng result = "hi, hello, sup".FirstFromSplit(','); Console.WriteLine(result); // "hi"
Tu peux le faire:
var str = "Doctor Who,Fantasy,Steven Moffat,David Tennant"; var title = str.Split(',').First();
Aussi, vous pouvez le faire de cette façon:
var index = str.IndexOf(","); var title = index < 0 ? str : str.Substring(0, index);
Ce sont les deux options que j’ai réussi à construire, n’ayant pas le luxe de travailler avec le type var
, ni avec des variables supplémentaires sur la ligne:
ssortingng f = "aS.".Subssortingng(0, "aS.".IndexOf("S")); Console.WriteLine(f); ssortingng s = "aS.".Split("S".ToCharArray(),SsortingngSplitOptions.RemoveEmptyEnsortinges)[0]; Console.WriteLine(s);
Voici ce que ça donne: