Pemformatan dengan Java LPAD dan RPAD. Menambahkan karakter tertentu di kedua sisi string.
JawaJadi, fungsi SQL untuk string tersebutLPAD、RPADBerikut adalah contoh kode sumber yang melakukan proses serupa.
ini adalahFormat panjang tetapIni sangat berguna saat menangani [hal ini].
- LPAD...Fungsi ini menambahkan string berulang di sisi kiri string sehingga jumlah total karakter mencapai jumlah digit yang ditentukan, lalu mengembalikan hasilnya.
- RPAD...Fungsi ini menambahkan karakter berulang di sisi kanan string sehingga jumlah total karakter mencapai jumlah digit yang ditentukan, lalu mengembalikan hasilnya.
Contoh program
/**
* Kami akan melakukan RPAD.
* String [addStr] yang ditentukan di sebelah kanan string [str] diatur ke [len].
Masukkan hingga penuh.
* @param str String target
* @param len Jumlah digit yang akan ditambahkan (menentukan ukuran setelah RPAD).
* @param addStr String yang akan disisipkan
* @return String yang telah dikonversi.
*/
publik statis String rpad(String str, int len, String addStr) {
kembalikan isiString(str, “R”, len, addStr);
}
/**
* Untuk string [str], tambahkan string yang akan ditambahkan [addStr]
* Menyisipkan pada posisi yang ditentukan oleh [position] hingga memenuhi nilai [len].
*
* *Meskipun [str] bernilai null atau literal kosong, [addStr] tetap akan berfungsi.
* Mengembalikan hasil penyisipan hingga [len] penuh.
* @param str String target
* @param position Sisipkan sebelum ⇒ L atau l Sisipkan setelah ⇒ R atau r
* @param len Jumlah digit yang akan ditambahkan
* @param addStr String yang akan disisipkan
* @return String yang telah dikonversi.
*/
publik statis String fillString(String str, String position,
panjang int,
String addStr) {
if (addStr == null || addStr.length() == 0) {
lemparkan IllegalArgumentException baru
(Nilai string yang akan disisipkan tidak valid. addStr=“+addStr);
}
jika (str == null) {
str = "";
}
StringBuffer buffer = new StringBuffer(str);
while (len > buffer.length()) {
jika (posisi sama dengan mengabaikan huruf besar/kecil ("l"))) {
int sum = buffer.length() + addStr.length();
jika (jumlah > panjang) {
addStr = addStr.substring
(0,addStr.length() – (sum – len));
buffer.insert(0, addStr);
kalau tidak{
buffer.insert(0, addStr);
}
kalau tidak {
buffer.append(addStr);
}
}
if (buffer.length() == len) {
return buffer.toString();
}
return buffer.toString().substring(0, len);
}
Hasil eksekusi
◆Contoh
public static void main(String[] args) { // Untuk lpad. Tambahkan spasi di sebelah kiri hingga menjadi 5 digit. String ret = lpad("abc", 5 , " "); System.out.println("'" + ret + "'"); // Untuk rpad. Tambahkan spasi di sebelah kanan hingga menjadi 5 digit. ret = rpad("abc", 5 , " "); System.out.println("'" + ret + "'"); // Untuk null ret = rpad(null, 5 , " "); System.out.println("'" + ret + "'"); }
◆Hasil keluaran
''abc' 'abc' ' ' ''
