Comment puis-je diviser une chaîne de caractères une seule fois, c'est-à-dire faire en sorte que 1|Ceci n'est pas une pipe: | Oui
parser vers : ["1", "Ceci n'est pas une pipe: | Oui"]
?
La limite du fractionnement ne semble pas aider...
Comment puis-je diviser une chaîne de caractères une seule fois, c'est-à-dire faire en sorte que 1|Ceci n'est pas une pipe: | Oui
parser vers : ["1", "Ceci n'est pas une pipe: | Oui"]
?
La limite du fractionnement ne semble pas aider...
Pas aussi "amusant" que celui de Nick, mais probablement plus efficace. Notez également le +1
devrait en fait être la longueur de la chaîne de séparation, si elle comporte plus d'un caractère.
Pour ceux qui se posent la question, pour faire cela avec 2 ou plusieurs morceaux, vous pourriez utiliser indexOf dans une boucle ou : var i = s.split('|',2).join('|').length;//2nd index
var splits = [s.slice(0,i).split('|'), s.slice(i+1)];
Pour clarifier, il divise en N parties, puis place la première sur une liste et joint le reste sur la même liste.
Si vous voulez obtenir k tokens de la chaîne au lieu de 1, faites la même chose que ci-dessus sauf que vous utilisez components.splice(0,k) au lieu de components.shift().
Vous pouvez utiliser :
var splits = str.match(/([^|]*)\|(.*)/);
splits.shift();
La regex divise la chaîne en deux groupes de correspondance (entre parenthèses), le texte précédant le premier | et le texte suivant. Ensuite, nous shift
le résultat pour se débarrasser de la correspondance de la chaîne entière ( splits[0]
).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.