下面是字符串,例如:
"Apple"
我想加零来填充8个字符:
"000Apple"
我该怎么做呢?
下面是字符串,例如:
"Apple"
我想加零来填充8个字符:
"000Apple"
我该怎么做呢?
当前回答
下面是我用于预填充字符串的简单的无api“可读脚本”版本。(简单,可读,可调)。
while(str.length() < desired_length)
str = '0'+str;
其他回答
如果你想用纯Java编写程序,你可以遵循下面的方法,或者有很多String Utils可以帮助你更好地使用更高级的功能。
使用一个简单的静态方法可以实现如下所示。
public static String addLeadingText(int length, String pad, String value) {
String text = value;
for (int x = 0; x < length - value.length(); x++) text = pad + text;
return text;
}
你可以使用上面的方法addLeadingText(长度,填充文本,你的文本)
addLeadingText(8, "0", "Apple");
输出是000Apple
StringUtils.leftPad(yourString, 8, '0');
这来自commons-lang。看到javadoc
这并不漂亮,但很有效。如果你有apache commons,我建议你使用它
if (val.length() < 8) {
for (int i = 0; i < val - 8; i++) {
val = "0" + val;
}
}
你可以用这个:
org.apache.commons.lang.StringUtils.leftPad("Apple", 8, "0")
我也遇到过类似的情况,我用了这个;它是非常简洁的,你不需要处理长度或其他库。
String str = String.format("%8s","Apple");
str = str.replace(' ','0');
简单而利落。字符串格式返回“Apple”,因此在用零替换空格后,它会给出所需的结果。