จัดรูปแบบด้วย Java LPAD, RPAD กรอกอักขระที่ระบุทางซ้ายและขวาของสตริง
ชวาจากนั้น คุณสามารถใช้ฟังก์ชัน SQL สำหรับสตริงได้แอลแพด,รปดนี่คือแหล่งตัวอย่างที่ดำเนินการกระบวนการเดียวกัน
เหล่านี้คือรูปแบบความยาวคงที่มีประโยชน์มากเมื่อต้องจัดการกับ
- แอลแพด...ส่งคืนสตริงที่เต็มไปด้วยอักขระซ้ำทางด้านซ้ายของสตริง เพื่อให้จำนวนอักขระทั้งหมดเท่ากับจำนวนหลักที่ระบุ
- รปด...เติมและส่งกลับสตริงที่ซ้ำกันทางด้านขวาของสตริง เพื่อให้จำนวนอักขระทั้งหมดเท่ากับจำนวนหลักที่ระบุ
โปรแกรมตัวอย่าง
/**
* ดำเนินการ RPAD
* เพิ่มสตริงที่ระบุ [addStr] ทางด้านขวาของสตริง [str] ถึง [len]
* ใส่จนเต็ม
* สตริงเป้าหมาย @param str
* @param len จำนวนหลักที่จะเติม (ระบุขนาดหลังดำเนินการ RPAD)
* @param addStr สตริงที่จะแทรก
* @return สตริงหลังการแปลง
*/
rpad สตริงคงที่สาธารณะ (String str, int len, String addStr) {
กลับ fillString (str, “R”, len, addStr);
}
/**
* เพิ่มสตริง [addStr] ที่จะเพิ่มลงในสตริง [str]
* ใส่ที่ [ตำแหน่ง] จนกระทั่ง [len] เต็ม
*
* *แม้ว่า [str] จะเป็นโมฆะหรือว่างเปล่า ให้ใช้ [addStr]
* ส่งกลับผลลัพธ์ที่แทรกไว้จนกว่า [len] จะเต็ม
* สตริงเป้าหมาย @param str
* ตำแหน่ง @param แทรกก่อน ⇒ L หรือ l แทรกหลัง ⇒ R หรือ r
* @param len จำนวนหลักที่จะเติม
* @param addStr สตริงที่จะแทรก
* @return สตริงหลังการแปลง
*/
สาธารณะคง fillString สตริง (สตริง str ตำแหน่งสตริง
อินท์เลน,
สตริง addStr) {
ถ้า (addStr == null || addStr.length() == 0) {
โยน IllegalArgumentException ใหม่
(“ค่าของสตริงที่จะแทรกไม่ถูกต้อง addStr=”+addStr);
}
ถ้า (str == null) {
STR = “”;
}
บัฟเฟอร์ StringBuffer = StringBuffer ใหม่ (str);
ในขณะที่ (len > buffer.length()) {
ถ้า (position.equalsIgnoreCase("l")) {
int sum = buffer.length() + addStr.length();
ถ้า (ผลรวม > len) {
addStr = addStr.สตริงย่อย
(0,addStr.length() – (ผลรวม – เลน));
buffer.insert(0, addStr);
}อื่น{
buffer.insert(0, addStr);
}
} อื่น {
buffer.ผนวก(addStr);
}
}
ถ้า (buffer.length() == len) {
กลับ buffer.toString();
}
กลับ buffer.toString().substring(0, len);
}
ผลการดำเนินการ
◆ตัวอย่างการดำเนินการ
โมฆะคงที่สาธารณะ main (String [] args) { // สำหรับ lpad เติมช่องว่างทางซ้ายจนครบ 5 หลัก String ret = lpad("abc", 5 , " "); System.out.println("'" + ret + "'"); // สำหรับ rpad. กรอกช่องว่างทางขวาจนครบ 5 หลัก ret = rpad ("abc", 5 , " "); System.out.println ("'" + ret + "'"); // ถ้า null ret = rpad (null, 5 , " "); System. out .println("'" + ret + "'"); }
◆ผลลัพธ์เอาท์พุต
' เอบีซี ' 'เอบีซี ' ' '