Le découpage d'une chaîne sur la double pipe(||) à l'aide de la Chaîne.split()
Je suis en train de séparer la chaîne avec double pipe (||), qui est le délimiteur.Chaîne ressemble à quelque chose comme ceci:
String str ="[email protected]||[email protected]||[email protected]";
je suis capable de le découper à l'aide de la StringTokeniser.La javadoc dit que l'utilisation de cette classe est découragé et au lieu de regarder la Chaîne.divisé en option.
StringTokenizer token = new StringTokenizer(str, "||");
Le code ci-dessus fonctionne très bien.Mais pas en mesure de comprendre pourquoi ci-dessous chaîne.fonction split ne me donne pas le résultat escompté..
String[] strArry = str.split("\\||");
Où vais-je mal..?
- Quel est votre résultat attendu?
Vous devez vous connecter pour publier un commentaire.
String.split()
utilise des expressions régulières. Vous avez besoin d'échapper à la chaîne que vous souhaitez utiliser comme séparateur.Modèle a une méthode pour le faire pour vous, à savoir
Schéma.citation(String s)
.Vous devez vous échapper de chaque
|
comme cestr.split("\\|\\|")
|
en java?|
comme\|
. Mais parce que la RegEx est construit à partir d'une chaîne, vous devez en outre d'échappement \ que \\.|
était une regex char. Je vais obtenir le coup de regex bientôt :pessayer ce soufflet :
Vous pouvez essayer cela aussi...
Veuillez noter que vous devez échapper à la pipe, car il a une signification particulière dans l'expression régulière et la Chaîne.méthode split() s'attend à une expression rationnelle.