我有一個字符串,我想填充任何給定字符的字符串給定的長度。 當然我可以寫一個循環語句並完成工作,但那不是我正在尋找的。我用使用java.lang.String.format()填充給定字符的字符串
一種方法是
myString = String.format("%1$"+ n + "s", myString).replace(' ', newChar);
這個工程除了當myString
中已經有一個空間的罰款。是否有使用的String.format()更好的解決方案
我有一個字符串,我想填充任何給定字符的字符串給定的長度。 當然我可以寫一個循環語句並完成工作,但那不是我正在尋找的。我用使用java.lang.String.format()填充給定字符的字符串
一種方法是
myString = String.format("%1$"+ n + "s", myString).replace(' ', newChar);
這個工程除了當myString
中已經有一個空間的罰款。是否有使用的String.format()更好的解決方案
如果字符串不包含 '0' 的符號,你可以這樣做:
int n = 30; // assert that n > test.length()
char newChar = 'Z';
String test = "string with no zeroes";
String result = String.format("%0" + (n - test.length()) + "d%s", 0, test)
.replace('0', newChar);
// ZZZZZZZZZstring with no zeroes
,或者如果它的作用:
test = "string with 0 00";
result = String.format("%0" + (n - test.length()) + "d", 0).replace('0', newChar)
+ test;
// ZZZZZZZZZZZZZZstring with 0 00
// or equivalently:
result = String.format("%" + (n - test.length()) + "s", ' ').replace(' ', newChar)
+ test;