Heim >Java >javaLernprogramm >So verwenden Sie die MessageFormat-Funktion in Java zur Textformatierung

So verwenden Sie die MessageFormat-Funktion in Java zur Textformatierung

WBOY
WBOYOriginal
2023-06-26 16:12:103502Durchsuche

Mit der kontinuierlichen Weiterentwicklung der Java-Sprache werden die verschiedenen von Java bereitgestellten APIs und Funktionen immer umfangreicher. Darunter ist die MessageFormat-Funktion ein sehr praktisches Textformatierungstool. Die MessageFormat-Funktion kann Zeichenfolgen in Java-Programmen formatieren, Platzhalter in Nachrichten in der generierten Ausgabe automatisch ersetzen und Gebietsschemainformationen beibehalten, um den Ausgabeinhalt genauer zu machen. In diesem Artikel wird ausführlich beschrieben, wie Sie die MessageFormat-Funktion zum Formatieren von Text verwenden.

1. Was ist die MessageFormat-Funktion? In Java ist MessageFormat eine Methode zum Formatieren und Ausgeben komplexer Nachrichten. Mit MessageFormat können Sie eine Nachricht definieren, die Parameter enthält, und dann einfach Werte an diese Nachricht übergeben, um eine neue Ausgabenachricht zu generieren. Das Format der MessageFormat-Funktion ist:

MessageFormat.format(String Pattern, Object ... Argumente)

Der Musterparameter gibt das Format der Nachricht an und der Argumentparameter ist ein Parameterarray, das die Platzhalter in der Nachricht ersetzt mit tatsächlichen Werten. Im folgenden Code verwenden wir beispielsweise die MessageFormat-Funktion, um eine Zeichenfolge mit Namen, Alter und Beruf in eine Begrüßung zu formatieren:

String name = „Xiao Ming“;

int age = 22;
String job = „Programmer“. ";
String Greeting = MessageFormat.format("Hallo, {0}, du bist dieses Jahr {1} Jahre alt und du bist ein {2}.", Name, Alter, Job);
System.out.println ( Gruß);

Das Ausgabeergebnis ist: Hallo, Xiao Ming, du bist 22 Jahre alt und Programmierer.

2. Der Formatbezeichner der MessageFormat-Funktion

In der MessageFormat-Funktion muss der Platzhalter mit dem tatsächlichen Wert abgeglichen werden, daher muss der Formatbezeichner verwendet werden. Ein Formatbezeichner ist eine Markup-Syntax, mit der das Format einer Ersetzungszeichenfolge bestimmt wird. Die allgemeine Struktur des Formatspezifizierers ist wie folgt:

{argument_index, format_type, format_style}

Beachten Sie, dass der Formatspezifizierer drei Teile enthält, nämlich Parameterindex, Formattyp und Formatstil. Der Parameterindex gibt den Index des zu ersetzenden Parameters im Parameterarray an, der Formattyp gibt den Datentyp des zu ersetzenden Parameters an und der Formatstil gibt das Zeichenfolgenformat an, das zum Formatieren des Parameters verwendet wird.

1. Parameterindex

Der Parameterindex bezieht sich auf die Nummer im Platzhalter, die den Index des zu ersetzenden Parameters im Parameterarray angibt. Im obigen Code gibt der Platzhalter „{0}“ beispielsweise den ersten Parameter an, bei dem es sich um den Namen der Zeichenfolgenvariablen handelt.

2. Formattyp

Formattyp bezieht sich auf den Datentyp des zu ersetzenden Parameters:

    Nummer: Zahl
  • Datum und Uhrzeit: Datum, Uhrzeit
  • Prozent: Prozentsatz
  • Währung: Währung
  • Benutzerdefinierter Typ: Wahl
Hier ist ein Beispiel dafür, wie Sie den Formattyp verwenden, um eine Zahl zu formatieren und durch einen Platzhalter zu ersetzen:

int count = 123456;

String message = MessageFormat. format("Wir haben {0,number} Benutzer.", count);

Das Ausgabeergebnis ist: Wir haben 123.456 Benutzer.

3. Formatstil

Formatstil bezieht sich auf das Zeichenfolgenformat, das zum Formatieren von Parametern verwendet wird. Die Syntax von Formatstilen hängt vom Formattyp ab. Im folgenden Beispiel verwenden wir den Formatstil, um Datum und Uhrzeit in das angegebene Format zu formatieren:

Date now = new Date();

String message = MessageFormat.format("Die aktuelle Zeit ist {0,time, HH: mm:ss}. Das Datum ist {0,date,yyyy-MM-dd}, now);

Das Ausgabeergebnis ist: Die aktuelle Zeit ist 14:58:30. Das Datum ist der 16.02.2021.

3. Praktische Tipps zur Verwendung der MessageFormat-Funktion

1 Lokalisierungsunterstützung
In Java ist Lokalisierung ein Prozess zur Bereitstellung korrekt formatierter Zeichenfolgen für verschiedene Sprachen, Kulturen und Regionen. Die MessageFormat-Funktion kann Lokalisierungsinformationen berücksichtigen. Im folgenden Code verwenden wir beispielsweise die MessageFormat-Funktion, um ein Datum zu formatieren und ein lokalisiertes Datum basierend auf den angegebenen Regionsinformationen zu generieren:
int Jahr = 2021;

int Tag = 16; String result = MessageFormat.format("Das Datum ist {0, date, MMM d, yyyy}.",

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

System.out.println(result);

Das Ausgabeergebnis lautet:

Das Datum ist Februar 16. Tag 2021.

2. Format auswählen

Wenn Sie ein anderes Format basierend auf dem Wert eines bestimmten Parameters auswählen müssen, können Sie die Formattypauswahl verwenden, um den Wert eines bestimmten Parameters einem anderen Wert basierend auf einem zuzuordnen Bereich für MessageFormat. Im folgenden Code verwenden wir beispielsweise den Auswahlformattyp, um eine Punktzahl einer Note zuzuordnen:

double score = 0.9;

String result = MessageFormat.format("Die Punktzahl dieses Schülers ist {0,Anzahl,Prozent}. Die Note ist: {0,Auswahl,0#nicht bestanden|0<60#nicht bestanden|60<70#bestanden|70<80#mittel|80<90#ausgezeichnet|90<100#perfekt |100# Volle Punktzahl}

3. Escape-Platzhalter und -Modifikatoren
Bei Verwendung der MessageFormat-Funktion müssen Zeichen mit besonderer Bedeutung (wie „{“, „}“ und „#“) zum Escapezeichen doppelte geschweifte Klammern verwenden . Wenn Sie den Formatbezeichner ändern müssen, können Sie Modifikatoren verwenden. Modifikatoren können Formatierungsstile hinzufügen oder entfernen und ihnen beliebigen Text hinzufügen. Im folgenden Code verwenden wir beispielsweise Modifikatoren, um nach der Ausgabe ein Ausrufezeichen hinzuzufügen:

String name = "Xiao Ming";
String result = MessageFormat.format("Willkommen, {0}!", neues Objekt [] { name });
System.out.println(result + "{0,choice,-1#?Bitte überprüfen Sie die Daten |0#|1#!}");

Das Ausgabeergebnis ist:

Willkommen, Xiao Ming!

In diesem Artikel erklären wir, wie Sie die MessageFormat-Funktion zur Textformatierung verwenden, einschließlich Formatspezifizierern, Lokalisierungsunterstützung, Auswahl von Formaten sowie Escape-Platzhaltern und -Modifikatoren. Darüber hinaus kann die MessageFormat-Funktion auch zum Formatieren von USB-Nachrichten, Formatieren von HTML-Seiten, Formatieren von E-Mails usw. verwendet werden. Weitere Informationen zur Verwendung der MessageFormat-Funktion finden Sie in der offiziellen Java-Dokumentation und API-Dokumentation. Die MessageFormat-Funktion ist ein sehr praktisches Werkzeug in der Java-Programmierung, das uns hilft, Texte und Nachrichten effizienter zu formatieren.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die MessageFormat-Funktion in Java zur Textformatierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn