wake-up-neo.com

Whitespace in Java hinzufügen

Es gibt eine Klasse trim(), um Leerzeichen zu entfernen. Wie wäre es mit Hinzufügen/Auffüllen?

Hinweis: " " ist nicht die Lösung.

13
Sobiaholic

Ich denke, Sie sprechen davon, Zeichenfolgen mit Leerzeichen zu füllen.

Eine Möglichkeit, dies zu tun, ist mit String Formatcodes.

Wenn Sie beispielsweise eine Zeichenfolge mit Leerzeichen auf eine bestimmte Länge auffüllen möchten, verwenden Sie Folgendes:

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

In einem Formatierer führt % eine Formatsequenz ein. - bedeutet, dass die Zeichenfolge linksbündig ist (Leerzeichen werden rechts von der Zeichenfolge hinzugefügt). Der 20 bedeutet, dass die resultierende Zeichenfolge 20 Zeichen lang ist. Die Variable s ist der Zeichencode-Formatcode und beendet die Formatfolge.

53
erickson

Dafür gibt es einige Ansätze:

  1. Erstellen Sie ein Char-Array, verwenden Sie dann Arrays.fill und konvertieren Sie schließlich in einen String
  2. Durchlaufen Sie eine Schleife und fügen Sie jedes Mal ein Leerzeichen hinzu
  3. Verwenden Sie String.format
1
stark
String text = "text";
text += new String(" ");
0
Taras Melnyk

Wenn Sie eine Instanz des EditText an der Stelle in Ihrem Code verfügbar haben, an der Sie Leerzeichen hinzufügen möchten, funktioniert der folgende Code. Es gibt einige Dinge, die zu berücksichtigen sind. Beispielsweise kann der folgende Code einen TextWatcher auslösen, den Sie für diesen EditText festgelegt haben (idk). Dies wird jedoch nur gesagt. Dies funktioniert jedoch, wenn versucht wird, Leerzeichen wie folgt anzuhängen: "" nicht hat funktioniert.

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

Verwenden Sie die StringUtils-Klasse, sie enthält auch eine Nullprüfung

StringUtils.leftPad(String str, int size)
StringUtils.rightPad(String str, int size)
0
Yaniv Levi