生成填充有空格的固定长度字符串
2022-08-31 09:03:16
我需要生成固定长度的字符串来生成基于字符位置的文件。缺少的字符必须用空格字符填充。
例如,字段 CITY 的固定长度为 15 个字符。对于输入“芝加哥”和“里约热内卢”,输出为
" Chicago" " Rio de Janeiro".
我需要生成固定长度的字符串来生成基于字符位置的文件。缺少的字符必须用空格字符填充。
例如,字段 CITY 的固定长度为 15 个字符。对于输入“芝加哥”和“里约热内卢”,输出为
" Chicago" " Rio de Janeiro".
从Java 1.5开始,我们可以使用java.lang.String.format(String,Object...)的方法,并使用printf like format。
格式字符串完成作业。where 指示参数索引,指示参数为字符串并表示字符串的最小宽度。把它们放在一起: ."%1$15s"
1$
s
15
"%1$15s"
对于一般方法,我们有:
public static String fixedLengthString(String string, int length) {
return String.format("%1$"+length+ "s", string);
}
也许有人可以建议另一种格式字符串来用特定字符填充空白?
用空格利用 的填充,并用所需的字符替换它们。String.format
String toPad = "Apple";
String padded = String.format("%8s", toPad).replace(' ', '0');
System.out.println(padded);
指纹。000Apple
更新更高性能的版本(因为它不依赖于 ),对空格没有问题(thx到Rafael Borja的提示)。String.format
int width = 10;
char fill = '0';
String toPad = "New York";
String padded = new String(new char[width - toPad.length()]).replace('\0', fill) + toPad;
System.out.println(padded);
指纹。00New York
但是需要添加检查以防止尝试创建具有负长度的 char 数组。