Easy String paddingTag(s): String/Number
[JDK 1.5]
Since 1.5, String.format() can be used to left/right pad a given string.
public class StringUtils {
private StringUtils() {}
// pad with " " to the right to the given length (n)
public static String padRight(String s, int n) {
return String.format("%1$-" + n + "s", s);
}
// pad with " " to the left to the given length (n)
public static String padLeft(String s, int n) {
return String.format("%1$" + n + "s", s);
}
public static void main(String args[]) throws Exception {
System.out.println(StringUtils.padRight("Howto", 20) + "*");
System.out.println(StringUtils.padLeft("Howto", 20) + "*");
}
/* output
Howto *
Howto*
*/
}
public class Test {
public static void main(String args[]) throws Exception {
System.out.println(String.format("%10s", "howto").replace(' ', '*'));
System.out.println(String.format("%-10s", "howto").replace(' ', '*'));
}
/* output
*****howto
howto*****
*/
}
public class Test {
public static void main(String args[]) throws Exception {
String password = "howto";
System.out.println(password);
System.out.println(String.format("%"+password.length()+"s", "").replace(' ', '*'));
}
/* output
howto
*****
*/
}
[JDK1.4 or less]
/**
* Pads a String <code>s</code> to take up <code>n</code>
* characters, padding with char <code>c</code> on the
* left (<code>true</code>) or on the right (<code>false</code>).
* Returns <code>null</code> if passed a <code>null</code>
* String.
**/
public static String paddingString(String s, int n, char c, boolean paddingLeft) {
if (s == null) {
return s;
}
int add = n - s.length(); // may overflow int size... should not be a problem in real life
if(add <= 0){
return s;
}
StringBuffer str = new StringBuffer(s);
char[] ch = new char[add];
Arrays.fill(ch, c);
if(paddingLeft){
str.insert(0, ch);
}
else {
str.append(ch);
}
return str.toString();
}
mail_outline
Send comment, question or suggestion to howto@rgagnon.com
Send comment, question or suggestion to howto@rgagnon.com