Maison  >  Article  >  Java  >  Comment utiliser la fonction MessageFormat en Java pour le formatage du texte

Comment utiliser la fonction MessageFormat en Java pour le formatage du texte

WBOY
WBOYoriginal
2023-06-26 16:12:103409parcourir

Avec le développement continu du langage Java, les différentes API et fonctions fournies par Java deviennent de plus en plus riches. Parmi elles, la fonction MessageFormat est un outil de formatage de texte très pratique. La fonction MessageFormat peut formater des chaînes dans les programmes Java, remplacer automatiquement les espaces réservés dans les messages dans la sortie générée et conserver les informations locales pour rendre le contenu de sortie plus précis. Cet article décrit en détail comment utiliser la fonction MessageFormat pour formater du texte.

1. Qu'est-ce que la fonction MessageFormat
En Java, MessageFormat est une classe qui fournit une méthode de formatage et de sortie de messages complexes. MessageFormat vous permet de définir un message contenant des paramètres, puis de transmettre simplement des valeurs à ce message pour générer un nouveau message de sortie. Le format de la fonction MessageFormat est :

MessageFormat.format(String pattern, Object... arguments)

Le paramètre pattern précise le format du message, et les arguments Le paramètre est la proportion du message. Le tableau de paramètres est remplacé par les valeurs réelles. Par exemple, dans le code suivant, nous utiliserons la fonction MessageFormat pour formater une chaîne de nom, d'âge et de profession dans un message de bienvenue :

String name = "Xiao Ming";
int age = 22;
String job = "Programmeur";
String Greeting = MessageFormat.format("Bonjour, {0}, tu as {1} ans cette année et tu es un {2}. " , nom, âge, travail);
System.out.println(greeting);

Le résultat est : Bonjour, Xiao Ming, vous avez 22 ans et vous êtes programmeur.

2. Le spécificateur de format de la fonction MessageFormat
Dans la fonction MessageFormat, l'espace réservé doit correspondre à la valeur réelle, le spécificateur de format doit donc être utilisé. Un spécificateur de format est une syntaxe de balisage utilisée pour déterminer le format d'une chaîne de remplacement. La structure générale du spécificateur de format est la suivante :

{argument_index, format_type, format_style}

Notez que le spécificateur de format contient trois parties, à savoir l'index des paramètres, le type de format et style de formatage. L'index du paramètre spécifie l'indice du paramètre à remplacer dans le tableau de paramètres, le type de format spécifie le type de données du paramètre à remplacer et le style de format spécifie le format de chaîne utilisé pour formater le paramètre.

1. Index du paramètre
L'index du paramètre fait référence au numéro dans l'espace réservé, qui spécifie l'indice du paramètre à remplacer dans le tableau des paramètres. Par exemple, dans le code ci-dessus, l'espace réservé "{0}" spécifie le premier paramètre, qui est le nom de la variable chaîne.

2. Type de format
Le type de format fait référence au type de données du paramètre à remplacer. Les types de données pris en charge par la fonction MessageFormat incluent :

    #. 🎜🎜#Numéro : numéro
  • Date et heure : date, heure
  • Pourcentage : pourcentage
  • Devise : devise
  • #🎜🎜 #Type personnalisé : choix
  • Voici un exemple d'utilisation du type de format pour formater un nombre et le remplacer par un espace réservé :

int count = 123456;

String message = MessageFormat.format("Nous avons {0,number} utilisateurs.", count);


Le résultat de sortie est : Nous avons 123 456 utilisateurs.

3. Style de format

Le style de format fait référence au format de chaîne utilisé pour formater les paramètres. La syntaxe des styles de format dépend du type de format. Dans l'exemple suivant, nous utiliserons le style de format pour formater la date et l'heure dans le format spécifié :


Date now = new Date();

String message = MessageFormat.format(" actuel L'heure est {0,time,HH:mm:ss} La date est {0,date,aaaa-MM-jj}", maintenant);


Le résultat de sortie est : L'heure actuelle il est 14h58h30. La date est le 16/02/2021.

3. Conseils pratiques pour utiliser la fonction MessageFormat

1 Prise en charge de la localisation

En Java, la localisation est un moyen de fournir le format de caractères correct pour différentes langues, cultures et régions. processus de cordage. La fonction MessageFormat peut prendre en compte les informations de localisation. Par exemple, dans le code ci-dessous, nous utiliserons la fonction MessageFormat pour formater une date et générer une date localisée en fonction des informations de région données :

int year = 2021;

int Month = 2 ;

int day = 16;
String result = MessageFormat.format("La date est {0,date,MMM j, aaaa}.",

new GregorianCalendar(year, month - 1, day));

System. out. println(result);

Le résultat de sortie sera :

La date est le 16 février 2021. 2. Sélectionnez le format #🎜🎜 #Si vous en avez besoin. pour choisir un format différent en fonction de la valeur d'un paramètre, vous pouvez utiliser le choix du type de format. Choice peut mapper la valeur d'un paramètre à une autre valeur basée sur une plage à utiliser par la fonction MessageFormat. Dans le code, nous utiliserons le type de format de choix pour mapper un score à une note :

double score = 0.9;

String result = MessageFormat.format("Le score de cet élève est {0 , nombre, pourcentage}. La note est : {0,choice,0#failure|0<60#failure|60<70#pass|70<80#medium|80<90#excellent|90<100#perfect|100. #full score}. ",

    score);

System.out.println(result);

Le résultat de sortie sera :

Le score de cet élève a 90,00%. Note : Excellent.

3. Échapper aux espaces réservés et aux modificateurs
Lors de l'utilisation de la fonction MessageFormat, les caractères ayant une signification particulière (tels que '{', '}' et '#') doivent utiliser des doubles accolades "{ {" et "}}" pour s'échapper. Si vous devez modifier le spécificateur de format, vous pouvez utiliser des modificateurs. Les modificateurs peuvent ajouter ou supprimer des styles de formatage et y ajouter du texte arbitraire. Par exemple, dans le code ci-dessous, nous utiliserons des modificateurs pour ajouter un point d'exclamation après la sortie :

String name = "Xiao Ming"
String result = MessageFormat.format("Welcome"; , { 0} ! ", new Object[] { name });
System.out.println(result + "{0,choice,-1#?Veuillez vérifier les données|0#|1#!} ");

Le résultat de sortie est :

Bienvenue, Xiao Ming !

Dans cet article, nous expliquons comment utiliser la fonction MessageFormat pour le formatage du texte, y compris les spécificateurs de format, la prise en charge de la localisation, la sélection des formats et l'échappement des espaces réservés et des modificateurs. De plus, la fonction MessageFormat peut également être utilisée pour formater des messages USB, formater des pages HTML, formater des emails, etc. Pour plus d'informations sur l'utilisation de la fonction MessageFormat, vous pouvez en savoir plus en consultant la documentation officielle Java et la documentation API. La fonction MessageFormat est un outil très pratique en programmation Java, qui nous aide à formater le texte et les messages plus efficacement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn