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 :

[String][JDK1.3]Remplacer les espaces


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 59
    Par défaut [String][JDK1.3]Remplacer les espaces
    Voilà je voudrais remplacer dans un objet String les espaces par un point.
    J'ai donc essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String tmp = "er er fgd";
    tmp.replace(' ', '.');
    Mais cela ne fonctionne pas.
    Etant donné ma version de java, la méthode replaceAll permettant de se servir des expressions régulières n'est pas implémentée... Alors si quelqu'un avait une petite idée, je suis preneur.

    Merci d'avance

  2. #2
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    t'as essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String tmp = "er er fgd";
    tmp = tmp.replace(' ', '.');
    ?

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 59
    Par défaut
    En fait c'est le code que je voulais indiquer au dessus... Donc oui j'ai essayé, et non ça ne marche plus..

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 59
    Par défaut
    Autant pour moi ça marche avec cet exemple. Mais pas dans la chaine que je récupère.

    En fait je récupère un double que je formate :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    java.text.NumberFormat nbr = java.text.NumberFormat.getInstance(java.util.Locale.FRENCH);
    String tmpBis = nbr.format( 1256.56 ).replace(' ','.');
    En sortie je voudrais un nombre de la forme 1.256,56
    et là j'obtiens 1 256,56. je pense que le caractère entre les centaines et les milliers ne correspond pas à un espace, et ma question et donc comment le remplacer par un point.

  5. #5
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    déjà eu ce problème avec du webl c'est relou

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 65
    Par défaut
    bon JDK 1.3 -> StringBuffer pour le traitement des chaines.
    on voit déjà la différence en 1.4, mais en 1.3 y a un gouffre.
    donc moi ce que je ferai c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    String s = "patatati et patata";
    StringBuffer buf = new StringBuffer(s);
     
    int pos = s.indexOf(" ");
    while (pos != -1 || s.length < pos){
       pos = s.indexOf(" "); //pour trouver les positions des espaces.
       buf.replace(pos,pos+1,".");
    }
    s = buf.toString();
    buf = null;
    ATTENTION : non testé.

  7. #7
    Membre chevronné Avatar de Mobius
    Profil pro
    none
    Inscrit en
    Avril 2005
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : none

    Informations forums :
    Inscription : Avril 2005
    Messages : 463
    Par défaut
    le caractere n'est pas un espace mais le caractere de code ascii 160 ...
    essaye plutot comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    java.text.NumberFormat nbr = java.text.NumberFormat.getInstance(java.util.Locale.FRENCH);
    String tmpBis = nbr.format( 1256.56 ).replace((char)160,'.');
    enfin ca marche comme ca chez moi :p

  8. #8
    Membre émérite
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Par défaut
    une méthode une peu sioux peut etre de faire une System.out de ta chaine de caractere et tu fais un copier du caractère en question dans ta console ensuite tu colles le caractere copié dans ton replace

  9. #9
    Membre chevronné Avatar de Mobius
    Profil pro
    none
    Inscrit en
    Avril 2005
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : none

    Informations forums :
    Inscription : Avril 2005
    Messages : 463
    Par défaut
    a vrai dire, c'est comme ca que j'ai trouvé la valeur 160 :p
    on se demande ou il vont chercher leurs caracteres des fois ...

  10. #10
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 59
    Par défaut
    Merci pour le code ascii j'étais passer par une autre bidouille.

    Je récupérer au format anglais, donc de la forme suivante :
    1,255.23 et je remplaçais le point par un caractère bidon, puis les virgules par des points, puis le caractère bidon par une virgule!!

    Enfin avec le bon code Ascii c'est tout de suite plus propre!

    Merci à vous.

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

Discussions similaires

  1. Remplacer les espaces dans un texte
    Par jouclar dans le forum Général Python
    Réponses: 13
    Dernier message: 25/05/2008, 23h26
  2. Remplacer les espaces d'une URL par un tiret
    Par Tee shot dans le forum Langage
    Réponses: 2
    Dernier message: 29/03/2007, 00h02
  3. [VBA-A]Remplacer les espaces dans un champ texte
    Par Ericka dans le forum VBA Access
    Réponses: 6
    Dernier message: 17/05/2006, 15h31
  4. [Tableaux] remplacer les espaces dans URL
    Par jmjmjm dans le forum Langage
    Réponses: 9
    Dernier message: 02/03/2006, 11h26
  5. [String] comment virer tous les espaces vides ?
    Par Alec6 dans le forum Langage
    Réponses: 6
    Dernier message: 26/07/2004, 14h27

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