Java 字符串左侧 右侧补充空格或者其他字符


#Java 笔记


方式1:自定义方法

public class StringPad {

    public static void main(String[] args) {
        System.out.println( padLeft("Hello", 10, '*') );
        System.out.println( padRight("Hello", 10, '*') );
    }

    /**
     * 左侧补字符
     */
    public static String padLeft(String origin, int length, char ch) {
        while (origin.length() < length) {
            origin = ch + origin;
        }
        return origin;
    }

    /**
     * 右侧补字符
     */
    public static String padRight(String origin, int length, char ch) {
        while (origin.length() < length) {
            origin = origin + ch;
        }
        return origin;
    }

}

运行结果:

*****Hello
Hello*****

上面的代码可以用 StringBuilder 优化性能。

方式2:使用 guava 库 Strings.padStart、Strings.padEnd 方法

在 gradle 项目中引入依赖:

dependencies {
    compile 'com.google.guava:guava:28.0-jre'
}

代码示例:

import com.google.common.base.Strings;

public class StringPad {

    public static void main(String[] args) {
        System.out.println( Strings.padStart("Hello", 10, '*') );
        System.out.println( Strings.padEnd("Hello", 10, '*') );
    }

}

运行结果:

*****Hello
Hello*****

方式3:使用 Apache Commons Lang 库中的工具方法

在 gradle 项目中引入依赖:

dependencies {
    compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.9'
}

代码示例:

import org.apache.commons.lang3.StringUtils;

public class StringPad {

    public static void main(String[] args) {
        System.out.println( StringUtils.leftPad("Hello", 10, '*') );
        System.out.println( StringUtils.rightPad("Hello", 10, '*') );
    }

}

运行结果:

*****Hello
Hello*****


( 本文完 )