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

Collection et Stream Java Discussion :

MessageFormat : peut-on ne pas doubler les quotes ?


Sujet :

Collection et Stream Java

  1. #1
    Membre habitué Avatar de PoichOU
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juillet 2006
    Messages : 328
    Points : 161
    Points
    161
    Par défaut MessageFormat : peut-on ne pas doubler les quotes ?
    Bonjour,

    j'ai un problème pour afficher un apostrophe avec l'utilisation du MessageFormat. Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public static void main(String[] args) {
    	Object[] arguments = {
    		     new Integer(7),
    		     new Date(System.currentTimeMillis()),
    		     "a disturbance in the Force"
    		 };
     
    	String result = MessageFormat.format(
    	"'At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.'",
    	arguments);
     
    	System.out.println(result);
     
    }
    l'exécution de ce code me donne le résultat suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    At 15:07:36  on {1,date}, there was {2} on planet {0,number,integer}.
    les quotes présentes au début et à la fin du message n'apparaissent pas.

    J'ai regardé sur l'api http://java.sun.com/j2se/1.4.2/docs/....html#patterns et j'ai trouvé le message suivant :


    Within a String, "''" represents a single quote. A QuotedString can contain arbitrary characters except single quotes; the surrounding single quotes are removed. An UnquotedString can contain arbitrary characters except single quotes and left curly brackets. Thus, a string that should result in the formatted message "'{0}'" can be written as "'''{'0}''" or "'''{0}'''".

    Warning:
    The rules for using quotes within message format patterns unfortunately have shown to be somewhat confusing. In particular, it isn't always obvious to localizers whether single quotes need to be doubled or not. Make sure to inform localizers about the rules, and tell them (for example, by using comments in resource bundle source files) which strings will be processed by MessageFormat. Note that localizers may need to use single quotes in translated strings where the original version doesn't have them.
    Cependant n'existe-t-il pas une solution pour lui dire que le 1er attribut n'est pas un pattern mais un string ?

    Merci de votre aide

    PoichOU

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Un petit replaceAll("'", "''") sur la chaîne d'origine devrait faire l'affaire, non ?

  3. #3
    Membre habitué Avatar de PoichOU
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juillet 2006
    Messages : 328
    Points : 161
    Points
    161
    Par défaut
    ok je prends

    merci

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

Discussions similaires

  1. Axis, creation client, Je ne peut pas passer les arguments
    Par r_asmak dans le forum Services Web
    Réponses: 7
    Dernier message: 13/10/2008, 08h41
  2. Réponses: 25
    Dernier message: 02/08/2008, 17h11
  3. Réponses: 1
    Dernier message: 25/03/2008, 17h07
  4. je ne peut pas explorer les fichiers de mon CD
    Par wodel dans le forum SUSE
    Réponses: 2
    Dernier message: 26/02/2007, 10h35

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