J'ai une chaîne de type p>
ishan, formation p> blockQuote>
Je veux diviser la chaîne après "," je veux la sortie comme p>
formation p> blockQuote>
Remarque: "," n'a pas d'index fixe comme valeur de chaîne avant "", "est différent à des moments différents. P>
E.g Ishant, Marcela ou Ishu, Ponda ou Amnarayan, Maptusa, etc. P>
de toutes les chaînes ci-dessus, j'ai juste besoin de la partie après "", " p>
7 Réponses :
Utiliser string.split (",") code> Attribuez le résultat dans un tableau à chaîne et utilisez ce que vous voulez. p>
Vous pouvez utiliser ou, un peu plus simple: p> string.split code> a >:
Ou vous voudrez peut-être utiliser LINQ: str.split (','). Lastordrefault ()
@Kobi Merci pour cette approche très simple mais meilleure jusqu'à présent! J'ai fait une bonne utilisation de str.substring (str.lastindexof (',') + 1); code> dans mon projet qui fonctionne simplement! Merci encore!
Heres une version VB. Je suis sûr que c'est facile à traduire en C # si
Cela fonctionne pour l'exemple ci-dessus mais ne considère pas une chaîne avec plusieurs virgules
Ah Désolé, cela pourrait être meilleur: .split (","). Inverser (0)
var arr = string.Split(","); var result = arr[arr.length-1];
Cela ne donnera que donner le dernier article. Est-ce ce qu'ils veulent? Du titre, il s'agit de ce que tout après la virgule. Et si la chaîne est de 1,2,3,4,5?
SourceString.Substring (sourcestring.indexof (',')) code>. Vous voudrez peut-être vérifier
sourcestring.indexof (',') code> pour
-1 code> pour chaînes sans
, p>. P>.
Bien que plusieurs commentaires mentionnent la question de plusieurs virgules trouvées, il ne semble pas y avoir de mention de la solution pour cela:
string input = "1,2,3,4,5"; if (input.IndexOf(',') > 0) { string afterFirstComma = input.Split(new char[] { ',' }, 2)[1]; }
Je sais que cette question a déjà été répondue, mais vous pouvez utiliser LINQ:
string str = "1,2,3,4,5"; str.Split(',').LastOrDefault();
Je ne sais pas si ce que vous voulez, c'est d'obtenir le deuxième mot. Je veux dire, si vous avez "A, B, C, D", vous voulez obtenir "B, D"?