下面是字符串,例如:
"Apple"
我想加零来填充8个字符:
"000Apple"
我该怎么做呢?
下面是字符串,例如:
"Apple"
我想加零来填充8个字符:
"000Apple"
我该怎么做呢?
当前回答
我喜欢用零填充字符串的解决方案
String.format("%1$" + length + "s", inputString).replace(' ', '0');
with length = "8" and inputString = "Apple"
其他回答
我也遇到过类似的情况,我用了这个;它是非常简洁的,你不需要处理长度或其他库。
String str = String.format("%8s","Apple");
str = str.replace(' ','0');
简单而利落。字符串格式返回“Apple”,因此在用零替换空格后,它会给出所需的结果。
public class PaddingLeft {
public static void main(String[] args) {
String input = "Apple";
String result = "00000000" + input;
int length = result.length();
result = result.substring(length - 8, length);
System.out.println(result);
}
}
StringUtils.leftPad(yourString, 8, '0');
这来自commons-lang。看到javadoc
public static String lpad(String str, int requiredLength, char padChar) {
if (str.length() > requiredLength) {
return str;
} else {
return new String(new char[requiredLength - str.length()]).replace('\0', padChar) + str;
}
}
使用Guava的Strings实用程序类:
Strings.padStart("Apple", 8, '0');