Je n'ai pas obtenu de regex optimisée qui divise une chaîne de caractères basée sur la première occurrence d'espace blanc :
var str="72 tocirah sneab";
J'en ai besoin :
[
"72",
"tocirah sneab",
]
Je n'ai pas obtenu de regex optimisée qui divise une chaîne de caractères basée sur la première occurrence d'espace blanc :
var str="72 tocirah sneab";
J'en ai besoin :
[
"72",
"tocirah sneab",
]
Si vous ne vous intéressez qu'au caractère espace (et non aux tabulations ou aux autres caractères d'espacement) et que vous ne vous intéressez qu'à tout ce qui se trouve avant le premier espace et à tout ce qui se trouve après le premier espace, vous pouvez le faire sans expression régulière comme ceci :
str.substring(0, str.indexOf(' ')); // "72"
str.substring(str.indexOf(' ') + 1); // "tocirah sneab"
Notez que s'il n'y a aucun espace, la première ligne renverra une chaîne vide et la deuxième ligne renverra la chaîne entière. Assurez-vous que c'est le comportement que vous souhaitez dans cette situation (ou que cette situation ne se produira pas).
Le Javascript ne supporte pas le lookbehinds, donc split
n'est pas possible. match
travaux :
str.match(/^(\S+)\s(.*)/).slice(1)
Une autre astuce :
str.replace(/\s+/, '\x01').split('\x01')
comment :
[str.replace(/\s.*/, ''), str.replace(/\S+\s/, '')]
et pourquoi pas
reverse = function (s) { return s.split('').reverse().join('') }
reverse(str).split(/\s(?=\S+$)/).reverse().map(reverse)
ou peut-être
re = /^\S+\s|.*/g;
[].concat.call(re.exec(str), re.exec(str))
Mise à jour de 2019 : à partir de ES2018, les lookbehinds sont supportés :
str = "72 tocirah sneab"
s = str.split(/(?<=^\S+)\s/)
console.log(s)
Je sais que je suis en retard, mais il semble y avoir un moyen très simple de le faire :
const str = "72 tocirah sneab";
const arr = str.split(/ (.*)/);
console.log(arr);
Cela laissera arr[0]
avec "72"
y arr[1]
avec "tocirah sneab"
. Notez que arr[2] sera vide, mais vous pouvez l'ignorer.
Pour référence :
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.