Menghapuskan Berbilang Ruang dan Ruang Putih Mendahului/Mengekor dalam Rentetan Java
Di Java, anda mungkin menghadapi rentetan yang mengandungi berbilang ruang berturut-turut dan ruang kosong yang tidak diperlukan di permulaan atau akhir. Untuk menyelesaikan masalah ini, anda mencari pendekatan yang cekap untuk menggantikan semua ruang berbilang dengan ruang tunggal sambil menghapuskan ruang hadapan dan belakang secara serentak.
Penyelesaian dengan trim() dan replaceAll()
Penyelesaian yang disyorkan menggabungkan kaedah trim() dengan replaceAll() kaedah:
String after = before.trim().replaceAll(" +", " ");
trim() mengalih keluar semua ruang putih di hadapan dan di belakang daripada rentetan yang diberikan. Kemudian, replaceAll() menggantikan semua kejadian dua atau lebih ruang berturut-turut dengan satu ruang.
Tiada penyelesaian regex trim()
Walaupun kurang boleh dibaca, ia mungkin untuk mencapai hasil yang sama dengan satu replaceAll():
String pattern = "^ +| +$|( )+"; String after = before.replaceAll(pattern, "");
regeks kompleks ini mempunyai tiga silih berganti:
Dalam semua kes, ia menggantikan jujukan yang dipadankan dengan $1, menangkap satu ruang sebagai ganti berbilang ruang atau menghapuskannya sama sekali jika pada permulaan atau akhir.
Sumber Tambahan
Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Ruang Berbilang, Mendahului dan Mengekor dengan Cekap daripada Rentetan Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!