我正在开展一个项目,但我一度陷入困境。我希望结果字符串总是长128个字符。当我的String更短时,我想用" 0" s替换它。我尝试了很多方法,但没有一个工作,所以我决定在这里问。
这是我尝试过的:
String s = "This is a String!";
if(s.length() < 128){
s.replace(s.length(), 128, "0");
System.out.println(s);
}
答案 0 :(得分:0)
如果你想用零填充你的短字符串:
String s = "SomeTestString!";
if(s.length() < 128) {
s = String.format("%-128s", s ).replace(' ', '0');
} else {
s = s.substring(0,128);
}
System.out.println(s);
如果您希望将短字符串替换为零:
String s = "SomeTestString!";
if(s.length() < 128) {
s = s.replace(s.length(), 128, "0");
} else {
s = s.substring(0,128) ;
}
System.out.println(s);
如果您希望短字符串有128个字符&#39; 0&#39;:
StringBuffer buf = new StringBuffer(128);
for (int i = 0; i < 128; i++) {
buf.append("0");
}
System.out.println(buf);
是的,至少我练习了一点:)。
答案 1 :(得分:0)
String s = "This is a String!";
if(s.length() < 128){
while (s.length <= 128){
s += "0";
}
System.out.println(s);
}
答案 2 :(得分:0)
这是右键填充字符串的一种方法。
public class Snippet {
public static void main(String[] args) {
int length = 128;
String s = "This is a String!";
System.out.println(new Snippet().rightPadString(s, length, '0'));
}
public String rightPadString(String s, int length, char c) {
if (s.length() < length) {
StringBuilder builder = new StringBuilder(length);
builder.append(s);
for (int i = s.length(); i < length; i++) {
builder.append(c);
}
s = builder.toString();
} else {
s = s.substring(0, length);
}
return s;
}
}