La méthode replace () en java
Résolu
hnajib
Messages postés
56
Statut
Membre
-
hnajib Messages postés 56 Statut Membre -
hnajib Messages postés 56 Statut Membre -
Bonjour,
Mon code est le suivant :
Mon problème est au niveau du remplacement de {1} et {3} le replace() veut pas les prendre, et je ne sais pas pourquoi.
Merci pour votre aide.
Mon code est le suivant :
addComponent(new Label("Semaine du {1} {2} au {3} {4}"
.replace("{1}", storeFirstDate.getDayOfMonth())
.replace("{2}", DateTimeFormat.forPattern("MMMM").withLocale(Locale.FRANCE).print(storeFirstDate))
.replace("{3}", "c")
.replace("{4}", DateTimeFormat.forPattern(" MMMM YYYY").withLocale(Locale.FRANCE).print(storeLastDate))));
Mon problème est au niveau du remplacement de {1} et {3} le replace() veut pas les prendre, et je ne sais pas pourquoi.
Merci pour votre aide.
2 réponses
-
On ne sait pas quels sont les données que tu manipules.
Par exemple storeFirstDate, de quel type il est ? getDayOfMonth() n'existe pas dans les classes Date, Calendar, DateFormat, etc. alors d'où vient-il ? Quel est son type de retour ?
Par contre, à moins d'un effet de bord, le "{3}" devrait passer, c'est {2} et {4} pour lesquels j'ai des doutes, parce que les méthodes print() sont généralement de type void, alors que replace attend un char ou un CharSequence (un String par exemple) -
Le code c'est ça, je me suis trompé :
addComponent(new Label("Semaine du {1} {2} au {3} {4}" .replace("{1}", storeFirstDate.getDayOfMonth()) .replace("{2}", DateTimeFormat.forPattern(" MMMM").withLocale(Locale.FRANCE).print(storeFirstDate)) .replace("{3}", storeLastDate.getDayOfMonth()) .replace("{4}", DateTimeFormat.forPattern(" MMMM YYYY").withLocale(Locale.FRANCE).print(storeLastDate))
** private DateTime storeFirstDate;
** private DateTime storeLastDate;
** getDayOfMonth = c'est une méthode de AbstractDateTime.class
C'est le {1} et {3} qui marchent pas, mais pour {2} et {4} ya pas de problème.
Merciiiiiii-
-
-
-
getDayOfMonth renvoie un int (ce qui est logique après tout !)
À voir : documentation et code source
Il faut donc faire la conversion en String, sinon on pourrait confondre avec un char.
String.valueOf(storeLastDate.getDayOfMonth());
-
-