818 votes

Suppression des espaces dans des chaînes en Java

J’ai une chaîne comme ceci :

Je veux supprimer les espaces dans la chaîne. J’ai essayé mais cela supprime uniquement les espaces avant et après la chaîne entière. J’ai aussi essayé mais alors le `` aussi est supprimé.

Comment est-ce que je peux réaliser une chaîne avec :

1492voto

Gursel Koca Points 8541

supprime tous les espaces et les caractères non visibles tels que tab, .

MISE À JOUR :

et produisent le même résultat.

Pour cet exemple, le deuxième regex est 20 % plus rapide que la première. Mais comme le nombre consécutif espaces augmente, l’une fonctionne mieux que le second. C’est pourquoi je préfère l’un.

282voto

nitro2k01 Points 3561
replaceAll("\\s","")

\w = Tout ce qui est un caractère de mot

\W = Tout ce qui n'est pas un caractère de mot (y compris la ponctuation, etc)

\s = Tout ce qui est un caractère d'espacement (espace, tabulation, etc)

\S = Tout ce qui n'est pas un caractère espace (y compris à la fois des lettres et des chiffres, ainsi que des signes de ponctuation, etc)

(Edit: Comme l'a souligné, vous avez besoin pour échapper à la barre oblique inverse si vous souhaitez \s pour atteindre le moteur d'expressions régulières, résultant en \\s.)

119voto

Fletch Points 1497

Le plus de bonne réponse à la question est:

String mysz2 = mysz.replaceAll("\\s","");

J'ai juste adapté ce code à partir d'autres réponses. Je poste ça car en plus d'être exactement ce que la question demandée, il démontre également que le résultat est retourné comme une nouvelle chaîne, la chaîne d'origine n'est pas modifié tant que certaines des réponses genre de implique.

(Développeurs Java expérimentés pourraient dire "bien sûr, vous ne pouvez pas modifier une Chaîne", mais le public cible pour cette question peut très bien ne pas le savoir.)

73voto

Erkan Haspulat Points 4707

Que diriez-vous `` . Se référer ici.

26voto

Jonas Elfström Points 16453

Vous avez déjà la bonne réponse de Gursel Koca, mais je crois qu’il y a de bonnes chances que ce n’est pas ce que vous voulez vraiment faire. Que diriez-vous d’analyse les valeurs-clés à la place ?

sortie :
nom = Jean
Age = 13
année = 2001

Prograide.com

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.

Powered by:

X