Định dạng bằng Java LPAD và RPAD. Thêm các ký tự được chỉ định vào cả hai phía của chuỗi.
JavaVậy, hàm SQL cho chuỗi là gì?LPAD、RPADDưới đây là một ví dụ về mã nguồn thực hiện quy trình tương tự.
đây làĐịnh dạng độ dài cố địnhĐiều này rất hữu ích khi xử lý [vấn đề này].
- LPAD...Hàm này sẽ thêm một chuỗi lặp lại vào phía bên trái của chuỗi sao cho tổng số ký tự đạt đến số chữ số được chỉ định, sau đó trả về kết quả.
- RPAD...Hàm này sẽ thêm các ký tự lặp lại vào phía bên phải của chuỗi sao cho tổng số ký tự đạt đến số chữ số được chỉ định, sau đó trả về kết quả.
Chương trình mẫu
/**
* Chúng tôi sẽ thực hiện RPAD.
* Chuỗi [addStr] được chỉ định ở bên phải chuỗi [str] được đặt thành [len].
* Cho vào cho đến khi đầy.
* @param str Chuỗi mục tiêu
* @param len Số chữ số cần thêm (xác định kích thước sau khi cộng với RPAD).
* @param addStr Chuỗi cần chèn
* @return Chuỗi sau khi chuyển đổi.
*/
public static String rpad(String str, int len, String addStr) {
return fillString(str, “R”, len, addStr);
}
/**
* Đối với chuỗi [str], hãy thêm chuỗi cần thêm [addStr]
* Chèn vào vị trí được chỉ định bởi [position] cho đến khi đạt đến giá trị [len].
*
* *Ngay cả khi [str] là null hoặc một chuỗi rỗng, [addStr] vẫn sẽ hoạt động.
* Trả về kết quả của việc chèn cho đến khi [len] đầy.
* @param str Chuỗi mục tiêu
* @param position Chèn trước ⇒ L hoặc l Chèn sau ⇒ R hoặc r
* @param len Số chữ số cần cộng
* @param addStr Chuỗi cần chèn
* @return Chuỗi sau khi chuyển đổi.
*/
public static String fillString(String str, String position,
độ dài số nguyên,
Chuỗi addStr) {
if (addStr == null || addStr.length() == 0) {
ném ngoại lệ IllegalArgumentException mới.
(Giá trị của chuỗi cần chèn không hợp lệ. addStr=“+addStr);
}
nếu (str == null) {
str = "";
}
StringBuffer buffer = new StringBuffer(str);
while (len > buffer.length()) {
nếu (position.equalsIgnoreCase(“l”)) {
int sum = buffer.length() + addStr.length();
nếu (tổng > độ dài) {
addStr = addStr.substring
(0,addStr.length() – (sum – len));
buffer.insert(0, addStr);
khác{
buffer.insert(0, addStr);
}
khác {
buffer.append(addStr);
}
}
if (buffer.length() == len) {
return buffer.toString();
}
return buffer.toString().substring(0, len);
}
Kết quả thực thi
◆Ví dụ
public static void main(String[] args) { // Đối với lpad. Thêm khoảng trắng vào bên trái cho đến khi đủ 5 chữ số. String ret = lpad("abc", 5 , " "); System.out.println("'" + ret + "'"); // Đối với rpad. Thêm khoảng trắng vào bên phải cho đến khi đủ 5 chữ số. ret = rpad("abc", 5 , " "); System.out.println("'" + ret + "'"); // Đối với null ret = rpad(null, 5 , " "); System.out.println("'" + ret + "'"); }
◆Kết quả đầu ra
'' abc' 'abc' ' ' ''
