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

avec Java Discussion :

Effacer les espaces dans une chaîne de caractères


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 43
    Par défaut Effacer les espaces dans une chaîne de caractères
    Bonjour ,
    Voila je voudrait en fait tranbformer une chaine de caractère de facon à supprimer les esapces à "l'intérieur" de la chaine et en meme temps en option ( ) faire la tranformation suivante:

    j'ai un numéro de telephone du format 33(0)6 XX XX XX XX et je voulais obtenir 06XXXXXXXX.

    Merci pour votre aide.

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Un truc du genre?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    public static String remove(String s, char toRemove) {
            StringBuilder b = new StringBuilder(s.length());
     
            for (int i = 0; i < s.length(); i++) {
                char c = s.charAt(i);
     
                if (c != toRemove) {
                    b.append(c);
                }
            }
     
            return b.toString();
    }
     
    ...
     
    String s = "33(0)6 XX XX XX XX";
     
    if(s.startWith("33")) {
      s = s.substring(2);
    }
     
    s = remove(s, ' ');
    s = remove(s, '(');
    s = remove(s, ')');
    Pas optimal, mais à toi de faire les modifs qui te semblent judicieuses

  3. #3
    Membre expérimenté Avatar de aJavaDeveloper
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 248
    Par défaut
    La méthode remove décrite par Pill_S me semble être une bonne alternative pour supprimer tous les espaces...
    Citation Envoyé par Pill_S
    Un truc du genre?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    public static String remove(String s, char toRemove) {
            StringBuilder b = new StringBuilder(s.length());
     
            for (int i = 0; i < s.length(); i++) {
                char c = s.charAt(i);
     
                if (c != toRemove) {
                    b.append(c);
                }
            }
     
            return b.toString();
    }
     
    ...
     
    String s = "33(0)6 XX XX XX XX";
     
    if(s.startWith("33")) {
      s = s.substring(2);
    }
     
    s = remove(s, ' ');
    s = remove(s, '(');
    s = remove(s, ')');
    Pas optimal, mais à toi de faire les modifs qui te semblent judicieuses

  4. #4
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 43
    Par défaut
    Mais il n'accepte pas le StringBuilder
    Il me dit :
    StringBuilder ne peut pas être résolu en type

  5. #5
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    StringBuilder n'existe que depuis Java 5, avant il faut utiliser StringBuffer.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  6. #6
    Membre expérimenté Avatar de aJavaDeveloper
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 248
    Par défaut
    Essaie ça alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public static String remove(String s, char toRemove) {
            String result = "";
            for (int i=0; i<s.length(); i++) 
                if (s.charAt(i) != toRemove)
                    result = result + s.charAt(i);
            return result;
    }

  7. #7
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    Citation Envoyé par aJavaDeveloper
    Essaie ça alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public static String remove(String s, char toRemove) {
            String result = "";
            for (int i=0; i<s.length(); i++) 
                if (s.charAt(i) != toRemove)
                    result = result + s.charAt(i);
            return result;
    }
    Il ne faut pas concaténer un String dans une boucle sous peine de performances désastreuses
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  8. #8
    Membre expérimenté Avatar de aJavaDeveloper
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 248
    Par défaut
    Voici une solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class Test {
     
    	public static void main(String[] args) {
    		String s1 = "33(0)6 XX XX XX XX";
     
    		String noSpace = s1.replaceAll(" ", "");
    		System.out.println("NO SPACE:\t" + noSpace);
     
    		String format = "0" + noSpace.substring(5, noSpace.length());
    		System.out.println("FORMAT:\t\t" + format);
    	}
    }
    Si tu veux bien te perfectionner il faut lire les tutoriels et cours de formation pour apprendre Java : http://java.developpez.com/cours/
    Par exemple le cours Java de jmdoudou est vraiment au top : http://jmdoudoux.developpez.com/cours/developpons/java/

  9. #9
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    La méthode replaceAll() de la classe String me semble tout indiquée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String number = "33(0)6 XX XX XX XX";
    String formattedNumber = number.replaceAll("33\\(0\\)", "0").replaceAll(" ", "");

    [edit] grilled [/edit]
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  10. #10
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 43
    Par défaut
    Merci pour vos réponse mais avec replaceAll j'ai l'erreur suivante :


    La méthode replaceAll(String, String) est indéfinie pour le type String

  11. #11
    Membre expérimenté Avatar de aJavaDeveloper
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 248
    Par défaut
    Avec quelle version de Java travailles-tu ?

    [EDIT] la méthode replaceAll est apparue à la version 1.4 de java...

  12. #12
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Tu travailles avec quelle version de java?...

    La méthode replaceAll(String, String) est définie pour le type String depuis Java 1.4...

    [Edit] Encore grillé...
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  13. #13
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 43
    Par défaut
    Merci pr les réponses
    J'ai la 1.3.1 !!!!
    y'a pas un équivalent de replaceAll pr cette version?

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

Discussions similaires

  1. Supprimer les espaces dans une chaîne de caractère
    Par Med_be dans le forum Débuter
    Réponses: 7
    Dernier message: 15/11/2010, 03h17
  2. Réponses: 16
    Dernier message: 19/11/2008, 12h02
  3. [XPATH] supprimer les espaces dans une chaîne
    Par joeyd dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 17/10/2007, 15h56
  4. Supprimer les espaces dans une chaine de caractères
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 23/07/2007, 22h24
  5. supprimer les espaces dans une chaîne de caratères.
    Par Empty_body dans le forum Langage
    Réponses: 2
    Dernier message: 12/09/2006, 18h43

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