Rumah > Java > javaTutorial > teks badan

Cara menggunakan fungsi MessageFormat dalam Java untuk pemformatan teks

WBOY
Lepaskan: 2023-06-26 16:12:10
asal
3495 orang telah melayarinya

Dengan perkembangan berterusan bahasa Java, pelbagai API dan fungsi yang disediakan oleh Java menjadi semakin kaya. Antaranya, fungsi MessageFormat ialah alat pemformatan teks yang sangat praktikal. Fungsi MessageFormat boleh memformat rentetan dalam program Java, menggantikan ruang letak secara automatik dalam mesej dalam output yang dijana, dan mengekalkan maklumat tempat untuk menjadikan kandungan output lebih tepat. Artikel ini akan menerangkan secara terperinci cara menggunakan fungsi MessageFormat untuk memformat teks.

1. Apakah fungsi MessageFormat? Dalam Java, MessageFormat ialah kelas yang menyediakan kaedah untuk memformat dan mengeluarkan mesej yang kompleks. MessageFormat membolehkan anda menentukan mesej yang mengandungi parameter dan kemudian hanya menghantar nilai kepada mesej itu untuk menjana mesej output baharu. Format fungsi MessageFormat ialah:

MessageFormat.format(Corak rentetan, Objek ... argumen)

Parameter corak menentukan format mesej dan parameter argumen ialah tatasusunan parameter yang menggantikan ruang letak dalam mesej dengan nilai sebenar. Sebagai contoh, dalam kod berikut, kami akan menggunakan fungsi MessageFormat untuk memformat rentetan nama, umur dan pekerjaan menjadi ucapan:

String name = "Xiao Ming";

int age = 22; ";
String greeting = MessageFormat.format("Hello, {0}, anda berumur {1} tahun pada tahun ini dan anda adalah {2}.", nama, umur, pekerjaan);
System.out.println ( salam);

Hasil output ialah: Hello, Xiao Ming, anda berumur 22 tahun dan seorang pengaturcara.

2. Penentu format fungsi MessageFormat

Dalam fungsi MessageFormat, pemegang tempat perlu dipadankan dengan nilai sebenar, jadi penentu format perlu digunakan. Penentu format ialah sintaks penanda yang digunakan untuk menentukan format rentetan gantian. Struktur umum penentu format adalah seperti berikut:


{argument_index, format_type, format_style}

Perhatikan bahawa penentu format mengandungi tiga bahagian, iaitu indeks parameter, jenis format dan gaya format. Indeks parameter menentukan subskrip parameter yang akan diganti dalam tatasusunan parameter, jenis format menentukan jenis data parameter yang akan diganti dan gaya format menentukan format rentetan yang digunakan untuk memformat parameter.

1. Indeks parameter

Indeks parameter merujuk kepada nombor dalam ruang letak, yang menentukan subskrip parameter yang akan diganti dalam tatasusunan parameter. Contohnya, dalam kod di atas, pemegang tempat "{0}" menentukan parameter pertama, iaitu nama pembolehubah rentetan.


2. Jenis format

Jenis format merujuk kepada jenis data parameter yang akan digantikan Jenis data yang disokong oleh fungsi MessageFormat termasuk:


Nombor: nombor
  • Tarikh dan masa: tarikh, masa
  • Peratus: peratusan
  • Mata wang :mata wang
  • Jenis tersuai:pilihan
  • Berikut ialah contoh cara menggunakan jenis format untuk memformat nombor dan menggantikannya dengan pemegang tempat:

bilangan int = 123456;

MesejFormat.mat. format("Kami mempunyai {0,bilangan} pengguna.", count);


Hasil output ialah: Kami mempunyai 123,456 pengguna.

3. Gaya format

Gaya format merujuk kepada format rentetan yang digunakan untuk memformat parameter. Sintaks gaya format bergantung pada jenis format. Dalam contoh berikut, kami akan menggunakan gaya format untuk memformat tarikh dan masa ke dalam format yang ditentukan:


Tarikh sekarang = new Date();

String message = MessageFormat.format("Masa semasa ialah {0,time, HH: mm:ss}. Tarikh ialah {0,date,yyyy-MM-dd}. ", sekarang);


Hasil keluaran ialah: masa semasa ialah 14:58:30. Tarikhnya ialah 2021-02-16.

3. Petua praktikal untuk menggunakan fungsi MessageFormat

1 Sokongan Penyetempatan

Di Java, penyetempatan ialah proses menyediakan rentetan yang diformat dengan betul untuk bahasa, budaya dan wilayah yang berbeza. Fungsi MessageFormat boleh mengambil kira maklumat penyetempatan. Sebagai contoh, dalam kod di bawah, kami akan menggunakan fungsi MessageFormat untuk memformat tarikh dan menjana tarikh setempat berdasarkan maklumat wilayah yang diberikan:

tahun = 2021

bulan =

hari = 16; Keputusan rentetan = MessageFormat.format("Tarikh ialah {0, tarikh, MMM d, tttt}.",

new GregorianCalendar(year, month - 1, day));
Salin selepas log masuk

System.out.println(result);

Hasil output ialah:

Tarikh ialah Februari 16, 2021 Day

2 Pilih format

Jika anda perlu memilih format yang berbeza berdasarkan nilai parameter tertentu, anda boleh menggunakan pilihan jenis format untuk memetakan nilai parameter tertentu kepada nilai lain berdasarkan nilai. julat untuk penggunaan Fungsi MessageFormat. Contohnya, dalam kod berikut, kami akan menggunakan jenis format pilihan untuk memetakan skor kepada gred:

skor berganda = 0.9;
Hasil rentetan = MessageFormat.format("Skor pelajar ini ialah. {0,bilangan ,peratus}. Grednya ialah: {0,choice,0#failure|0<60#gagal|60<70#lulus|70<80#sederhana|80<90#cemerlang|90<100#sempurna |100# Markah penuh}. ",

    score);
Salin selepas log masuk

System.out.println(result);

Hasil keluaran ialah:

Markah pelajar ini ialah 90.00%. Grednya: Cemerlang.

3. Escape pemegang tempat dan pengubah suai
Apabila menggunakan fungsi MessageFormat, aksara dengan makna khas (seperti '{', '}' dan '#') perlu menggunakan kurungan kerinting berganda "{{" dan "}} "untuk melarikan diri . Jika anda perlu mengubah suai penentu format, anda boleh menggunakan pengubah suai. Pengubah suai boleh menambah atau mengalih keluar gaya pemformatan dan menambah teks sewenang-wenangnya. Sebagai contoh, dalam kod di bawah, kami akan menggunakan pengubah suai untuk menambah tanda seru selepas output:

String name = "Xiao Ming"
String result = MessageFormat.format("Welcome, {0}!", new Object [] { nama });
System.out.println(hasil + "{0,choice,-1#?Sila semak data |0#|1#!}");

Hasil output ialah:

Selamat datang, Xiao Ming!

Dalam artikel ini, kami menerangkan cara menggunakan fungsi MessageFormat untuk pemformatan teks, termasuk penentu format, sokongan penyetempatan, memilih format dan melarikan diri pemegang tempat serta pengubah suai. Selain itu, fungsi MessageFormat juga boleh digunakan untuk memformat mesej USB, memformat halaman HTML, memformat e-mel, dsb. Untuk mendapatkan maklumat lanjut tentang cara menggunakan fungsi MessageFormat, anda boleh mengetahui lebih lanjut dengan melihat dokumentasi Java rasmi dan dokumentasi API. Fungsi MessageFormat ialah alat yang sangat praktikal dalam pengaturcaraan Java, membantu kami memformat teks dan mesej dengan lebih cekap.

Atas ialah kandungan terperinci Cara menggunakan fungsi MessageFormat dalam Java untuk pemformatan teks. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan