文
章
目
录
章
目
录
本教程演示如何向字符串添加正确的填充,以使填充字符串的总长度应为固定数字。例如,如果我们有一个长度为 10 的字符串,并且我们希望通过添加正确的填充将其长度增加到 15。
panziye.com //无填充
panziye.com //4空格右填充
panziye.com.... //4点右填充
panziye.com0000 //4个0右填充
1. 使用纯Java
一个好的开始方法是创建一个满足所有要求的自定义 API。以下方法使用String.repeat() API 创建右侧填充,然后将其附加到输入字符串以构建最终字符串。
public static String rightPad(String input, int length, String padStr) {
if(input == null || padStr == null){
return null;
}
if(input.length() >= length){
return input;
}
int padLength = length - input.length();
StringBuilder paddedString = new StringBuilder();
paddedString.append(input);
paddedString.append(padStr.repeat(padLength));
return paddedString.toString();
}
我们可以测试rightPad()方法,如下所示:
Assertions.assertEquals("1234567890", rightPad("123456789", 10, "0"));
Assertions.assertEquals("howtodoinjava ", rightPad("howtodoinjava", 20, " "));
2. 使用StringUtils.rightPad() API
StringUtils类提供了有用的方法来修改字符串以获得所需的效果。它的rightPad()使用指定的 pas 字符或字符串添加右填充。使用StringUtils.leftPad()在 Java 中向左填充字符串。
public static String rightPad(str, size);
public static String rightPad(str, size, padStr);
public static String rightPad(str, size, padChar);
2.1. Maven依赖
首先在项目中添加最新版本的 Apache common-lang3库。
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
2.2. 右侧填充空格
在下面的程序中,我们右填充字符串“java”。空白区域用作填充字符。
Assertions.assertEquals(null, StringUtils.rightPad(null, 50, " "));
Assertions.assertEquals("java ", StringUtils.rightPad("java", 5, " "));
Assertions.assertEquals("java ", StringUtils.rightPad("java", 10, " "));
2.2. 右填充零
在下面的程序中,我们右填充数字“123”。使用的填充字符为零。
Assertions.assertEquals("12300", StringUtils.rightPad("123", 5, "0"));
Assertions.assertEquals("1230000000", StringUtils.rightPad("123", 10, "0"));
3. 使用Strings.padEnd()
Strings类是 Guava 库的一部分,提供修改字符串的实用方法。首先将最新版本的 Guava添加到项目中。
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.1-jre</version>
</dependency>
现在我们可以使用Strings.padEnd() API 添加正确的填充,如下所示:
Assertions.assertEquals("1234567890", Strings.padEnd("123456789", 10, '0'));
Assertions.assertEquals("howtodoinjava ", Strings.padEnd("howtodoinjava", 20, ' '));
4.结论
在本 Java 字符串教程中,我们学习了使用空格、零或任何填充字符来右填充字符串,以修改字符串以使其具有固定长度。我们学会了使用StringUtils、Strings类并为正确的填充创建我们自己的解决方案。