Comment puis-je diviser une chaîne C # en fonction de la première occurrence du caractère spécifié? Supposons que j'ai une chaîne avec la valeur "101, a, b, c, d". Je veux le diviser en 101 & a, b, c, d. C'est par la première occurrence de caractère virgule.
Vous pouvez spécifier le nombre de sous-chaînes à renvoyer à l'aide de string.Split
:
var pieces = myString.Split(new[] { ',' }, 2);
Résultats:
101
a,b,c,d
string s = "101,a,b,c,d";
int index = s.IndexOf(',');
string first = s.Substring(0, index);
string second = s.Substring(index + 1);
Vous pouvez utiliser Substring
pour obtenir les deux parties séparément.
Tout d'abord, vous utilisez IndexOf
pour obtenir la position de la première virgule, puis vous la divisez:
string input = "101,a,b,c,d";
int firstCommaIndex = input.IndexOf(',');
string firstPart = input.Substring(0, firstCommaIndex); //101
string secondPart = input.Substring(firstCommaIndex + 1); //a,b,c,d
Sur la deuxième partie, le +1
est d'éviter d'inclure la virgule.
Utilisez la fonction string.Split()
. Il faut le max. nombre de morceaux qu'il va créer. Supposons que vous ayez une chaîne "abc, def, ghi" et que vous appelez Split () dessus avec le paramètre count
réglé sur 2, cela créera deux morceaux "abc" et "def, ghi".
Dans .net Core, vous pouvez utiliser les éléments suivants:
var pieces = myString.Split(',', 2);
Résultats:
101
a,b,c,d