2013-02-04 5 views
2

Je suis en train d'avoir un gel du cerveau - je cours ce qui suit (split sur une chaîne en Java - en essayant de séparer les caractères autour de "|"). La commande split me donne un tableau de caractères individuels au lieu des valeurs autour du '|' personnage. Toute suggestion utile serait la bienvenue. Par exemple, dans le cas ci-dessous, j'essaie de récupérer "abc", "123456789" et "def" dans trois emplacements de tableau différents.java string split query

//testKey is the following "abc|123456789|def" 
String[] keySplit = testKey.split("|"); 
//I am getting null in keySplit[0] & "a" in keySplit[1] 
+2

Pour les downvoters - obtenir une vie! –

Répondre

8

String#split utilise une expression régulière. En outre, l'opérateur de tuyau | est un caractère spécial dans les expressions régulières (ce qui signifie ou). Par conséquent, vous devez échapper à ce caractère ici:

String[] keySplit = testKey.split("\\|"); 
+1

Au moment où j'ai ouvert un nouvel onglet avec une question surgie, il y avait déjà votre réponse. Pouvez-vous être encore plus rapide? ;) Juste une clarification -> Avez-vous posté la réponse avant la question? –

+0

+1 pour Reimeus - merci cela a fonctionné. J'accepte la réponse après 12 minutes (restriction SO) –