Extrait une sous-chaîne d'une chaîne jusqu'à ce qu'trouve une virgule
Je suis en train de construire une page et je voudrais savoir comment faire pour extraire la sous-chaîne d'une chaîne jusqu'à ce qu'trouve une virgule ASP.Net C#. Quelqu'un peut-il aider s'il vous plaît?
Vous devez vous connecter pour publier un commentaire.
Si str ne contient pas de virgules, de sous-chaîne sera la même que str.
EDIT: comme avec la plupart des choses, la performance de cette varient pour les cas limites. Si il y a beaucoup de virgules, cela va créer beaucoup d'instances de Chaîne sur le tas qui ne seront pas utilisés. Si c'est un 5000 chaîne de caractères avec une virgule près le début, le IndexOf+Substring méthode va effectuer beaucoup mieux. Cependant, raisonnablement petites chaînes cette méthode fonctionne très bien.
String.IndexOf
s'arrête lorsqu'il trouve la première virgule.String.Split
toujours passer par le ensemble chaîne de caractères. Envisager de "Hello, world! J'ai une très longue histoire à vous raconter." + [6000 plus de caractères] + "Espère que ça vous a plu!". C'est un énorme facteur de ralentissement que vous avez là.Deuxième paramètre indique nombre maximum de pièces. La spécification de 2 garantit les performances est très bien, même si il ya beaucoup, beaucoup de virgules.
var firstPart = str.Split(new char[] { '{' }, 2);
char
, compilateur déduit de type tableau pour vous.Vous pouvez utiliser IndexOf() pour savoir où est la virgule, puis extraire la sous-chaîne. Si vous êtes sûr de toujours disposer de la virgule, vous pouvez passer le chèque.
Alina, basé sur ce que vous avez écrit ci-dessus, puis divisés en va travailler pour vous.
Donné votre exemple de chaîne, puis un[0] = "aaa", a[1] = "bbbbb", a[2] = "cccc", et a[3] = "dddd"