00 Voix

Java: Split au point str.split(".") ne fonctionne pas

Question de Invité | 02/09/2020 à 14:02

J'ai un problème étrange dans l'un de mes programmes Java, qui m'a déjà coûté des heures. J'essaie de séparer une chaîne / string à un caractère, donc la fonction explode classique ou exactement la fonction split en Java.

Bien que ce code fonctionne parfaitement

String str = "1;2;3";
String[] sarr = str.split(";");

inexplicablement, la fonction abandonne lors de l'utilisation d'un point comme séparateur:

String str = "1.2.3";
String[] sarr = str.split(".");

Que puis-je faire? Malheureusement, je dois diviser ma chaîne en un point et je me sens mal avec une solution consistant à remplacer le point par un autre caractère qui fonctionne avant de le fractionner.

RépondrePositifNégatif
1Meilleure Réponse1 Vote

La fonction split en Java attend une expression régulière (regex) comme paramètre. Par conséquent, votre "." est interprété comme une expression régulière et dans le monde des expressions régulières, un point est un caractère spécial qui peut représenter n'importe quel autre caractère. Par conséquent, la séparation ne fonctionne pas dans votre cas.

Pour le faire fonctionner, essayez-le de cette façon:

String str = "1.2.3";
String[] sarr = str.split("\\.");

Avec le préfixe \\, vous pouvez échapper le point afin qu'il ne soit plus traité comme un caractère spécial.
03/09/2020 à 21:08

RépondrePositif Négatif
Répondre

Sujets Connexes

Avis Important

Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.

Participer

Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.