java的String字符串補0或空格
方法一:自己寫的方法
/*
*數字不足位數左補0
*
* @param str
* @param strLength
*/
public static String addZeroForNum(String str, int strLength) {
int strLen = str.length();
if (strLen < strLength) {
while (strLen < strLength) {
StringBuffer sb = new StringBuffer();
sb.append("0").append(str);//左補0
// sb.append(str).append("0");//右補0
str = sb.toString();
strLen = str.length();
}
}
return str;
}
可以補“0”也可以補“”
方法2 :需要確定補多少0.
public class P {
public static void main(String[] args){
String pattern="000";
java.text.DecimalFormat df = new java.text.DecimalFormat(pattern);
int i = 10,j=6;
System.out.println("i="+df.format(i)+"\nj="+df.format(j));
}
}
---------------------輸出-----------------------
i=010
j=006
方法3:使用正則效率特低, 建議尋找其它方式
/**
* Java里數字轉字符串前面自動補0的實現。
*
* @author 老紫竹研究室(laozizhu.com)
*
*/
.public class TestStringFormat {
public static void main(String[] args) {
int youNumber = 1;
// 0 代表前面補充0
// 4 代表長度為4
// d 代表參數為正數型
String str = String.format("%04d", youNumber);
System.out.println(str); // 0001
}
----------
String a = "1A95E2C2A6";
String pattern="0000000000000000";
System.out.println(pattern.substring(0, pattern.length()-a.length())+a);