IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Suppression espaces chaîne


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Par défaut Suppression espaces chaîne
    Bonjour à toutes et à tous.

    Je suis confronté à un problème très étrange. Je souhaite supprimer tous les espaces dans une chaîne (au début, au milieu et à la fin, partout).

    Ces chaînes proviennent d'un fichier CSV que je parcours.

    Normalement, un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    s = s.replace(" ", "");
    devrait fonctionner... Or je me bat depuis 1 heure et j'ai presque tout essayé !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // str est la chaîne que je reçois
    // StringUtils vient de apache commons lang
     
    String s = StringUtils.defaultString(str);
     
    s = StringUtils.trim(s);
    s = StringUtils.strip(s);
    s = s.replaceAll(" ", "");
    s = s.replaceAll("\\s", "");
    s = s.replaceAll("/\\s/", "");
    s = s.replace(" ", "");
    s = StringUtils.remove(s, ' ');
    s = StringUtils.remove(s, " ");
    Rien n'y fait, je suis blasé

    Quelqu'un aurait une idée ?
    Merci d'avance pour votre aide, c'est la première fois qu'un truc aussi c** m'arrive !

  2. #2
    Membre chevronné
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Par défaut
    Je viens de trouver, désolé, voici pour ceux qui en auront besoin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    s = s.replace(String.valueOf((char) 160), "");

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 586
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 586
    Par défaut
    Le char 160, caractère Unicode U+A0, n'est pas un espace normal mais un espace insécable.

    Pour supprimer tout ce qui est défini dans Unicode comme un caractère d'espacement en ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    s = s.replaceAll("\\p{Zs}", "");
    Zs est la catégorie Unicode correspondant aux espaces en ligne (c'est-à-dire les espaces à l'intérieur d'un paragraphe, pas mais les fins de ligne ni les tabulations ni les sauts de page...)

    \\p{Zs} correspond à un caractère de cette catégorie dans les expressions régulières java.
    replaceAll() fait un replace de tout ce qui correspond à cette expression régulière.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Suppression espaces dans des chaînes
    Par Invité dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/04/2011, 20h01
  2. Réponses: 18
    Dernier message: 27/06/2006, 19h37
  3. [SQL]Suppression Espaces Chaine Caractere
    Par sufrine dans le forum Access
    Réponses: 2
    Dernier message: 21/06/2006, 11h02
  4. Réponses: 17
    Dernier message: 08/06/2006, 10h34
  5. Suppression de chaînes de caractères
    Par Furius dans le forum Windows
    Réponses: 24
    Dernier message: 03/11/2005, 16h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo