2010-10-26 7 views
3

J'ai des chaînes aléatoires qui sont semblables à ceci:Js RegExp tous les autres personnages

2d4hk8x37m

ou autre chose. Je dois le partager à tous les autres personnages.

Pour diviser à chaque personnage son simple:

'2d4hk8x37m'.split(''); 

Mais j'ai besoin tout autre caractère si le tableau serait comme ceci:

['2d', '4h', 'k8', 'x3', '7m'] 
+0

Vous devez diviser des parties de 2 caractères? – madeinstefano

Répondre

7
var string = "2d4hk8x37m"; 
var matches = string.match(/.{2}/g); 
console.log(matches); 
+0

@Dale, la réponse que vous avez acceptée n'utilise pas .split() non plus. Ma réponse vous donne ce que vous avez demandé, et à mon avis, est une meilleure solution que la réponse que vous avez acceptée. * shrugs * –

+0

Awe, je n'avais pas testé ton code depuis que tu l'as corrigé. Je vais tester la performance, puis choisissez la bonne réponse. – UpHelix

+0

@Dale, l'a corrigé? Que voulez-vous dire? –

1

Il n'y a pas regex nécessaire ici. Juste un simple pour la boucle.

var hash = '2sfg43da' 
var broken = []; 
for(var index = 0; index < hash.length/2; index++) 
    broken.push(hash.substr(index*2, 2)); 
+0

Ceci boucle tous les caractères et ajoute des entrées vides au tableau après que la moitié soit faite. J'imagine que vérifier avec une valeur avant de pousser va résoudre cela. – UpHelix

+0

bah! J'ai oublié "++" et "/ 2". Merci de l'avoir remarqué. –

+0

La regex est beaucoup plus expressive. –

Questions connexes