字符串补齐

符串补齐,比如我计算一个字符串的长度,然后和默认长度进行比较,差多少就高位补齐,比如全部补0.有更快的方法吗?除了循环。

 

更快的可能没有了 不过你可以试试org.apache.commons.lang.StringUtils这个类

Java code
?
1
2
3
String test = "3123123" ;
String value = StringUtils.leftPad(test, 10 , "0" );
ystem.out.println(value);


结果就是0003123123

 

2楼无疑是最佳方法,但是如果你只想用jdk里的api的话,我有个方法:

Java code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package testPackage;
public class StringTest {
    public static void main(String[] args) {
        //假设必须15位长
        int fullLength = 15 ;
        //假设输入123456
        StringBuilder input = new StringBuilder( "123456" );
        //预先定义一个15位0
        StringBuilder zero = new StringBuilder( "000000000000000" );
       
        String result = zero.substring( 0 , zero.length() - input.length()) + input;
       
        System.out.println(result);
    }
}

 

二楼的方法挺不好的,apache的那几个工具包挺好使的,不过String类下就有一个格式化的方法:

Java code
?
1
2
3
4
String str = "gr" ;
String res = String.format( "%5s" , str);
res = res.replaceAll( "\\s" , "1" );
System.out.println(res); //----------结果:111gr

 

/**
     * 补齐不足长度
     * @param length 长度
     * @param number 数字
     * @return
     */
    private String lpad(int length, int number) {
        String f = "%0" + length + "d";
        return String.format(f, 0);
    }


 

 

你可能感兴趣的:(字符串补齐)