Sobiaholic
Sobiaholic

Reputation: 2957

Adding whitespace in Java

There is a class trim() to remove white spaces, how about adding/padding?

Note: " " is not the solution.

Upvotes: 32

Views: 182552

Answers (7)

Burak
Burak

Reputation: 1

You can use the print format as well to add whitespace. For example, you can give length to a string like this example. System.out.printf("%-15s",str);

Upvotes: 0

deep
deep

Reputation: 396

One thing that can be done with the help of apache StringUtils class is space.

StringUtils.SPACE

Upvotes: 0

erickson
erickson

Reputation: 269657

I think you are talking about padding strings with spaces.

One way to do this is with string format codes.

For example, if you want to pad a string to a certain length with spaces, use something like this:

String padded = String.format("%-20s", str);

In a formatter, % introduces a format sequence. The - means that the string will be left-justified (spaces will be added at the end of the string). The 20 means the resulting string will be 20 characters long. The s is the character string format code, and ends the format sequence.

Upvotes: 87

Yaniv Levi
Yaniv Levi

Reputation: 476

Use the StringUtils class, it also includes null check

StringUtils.leftPad(String str, int size)
StringUtils.rightPad(String str, int size)

Upvotes: 7

JamisonMan111
JamisonMan111

Reputation: 200

If you have an Instance of the EditText available at the point in your code where you want add whitespace, then this code below will work. There may be some things to consider, for example the code below may trigger any TextWatcher you have set to this EditText, idk for sure, just saying, but this will work when trying to append blank space like this: " ", hasn't worked.

messageInputBox.dispatchKeyEvent(new KeyEvent(0, 0, 0, KeyEvent.KEYCODE_SPACE, 0, 0, 0, 0,
                        KeyEvent.KEYCODE_ENDCALL));

Upvotes: 0

Taras Melnyk
Taras Melnyk

Reputation: 3265

String text = "text";
text += new String(" ");

Upvotes: 1

stark
stark

Reputation: 839

There's a few approaches for this:

  1. Create a char array then use Arrays.fill, and finally convert to a String
  2. Iterate through a loop adding a space each time
  3. Use String.format

Upvotes: 2

Related Questions