Können wir die Verwendung von String.format (), um pad/Präfix mit einem Charakter mit der gewünschten Länge?
Kann java.lang.String.format(String str, String str1)
verwendet werden, für das hinzufügen von Präfix von einem bestimmten Charakter.
Könnte ich dies für eine Nummer wie:
int sendID = 202022;
String usiSuffix = String.format("%032d", sendID);
Macht es einen String
von der Länge 32 und leftpadded mit 0 : 00000000000000000000000000202022
Wie, das gleiche zu erreichen, wenn sendID ist ein String
wie:
String sendID = "AABB";
Und ich möchte eine Ausgabe wie: 0000000000000000000000000000AABB
Viele Lösungen hier - so formatieren Sie eine java-string mit führender null?
stackoverflow.com/a/391978/2123124 sieht aus wie das, was Sie brauchen glaube ich
Ich habe schon geschaut in diese Antwort, die keine Antwort auf meine Frage.
stackoverflow.com/a/391978/2123124 sieht aus wie das, was Sie brauchen glaube ich
Ich habe schon geschaut in diese Antwort, die keine Antwort auf meine Frage.
InformationsquelleAutor Swagatika | 2013-03-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie diese hackish Weg, um Ihre Ausgabe:
Demo: http://ideone.com/UNVjqS
InformationsquelleAutor anubhava
Kann man da unten, wenn Sie wirklich wollen, zu verwenden
String.format
,Andere als
String.format
finden Sie viele Lösungen hier.Bearbeiten: vielen Dank für Brian zum Zeitpunkt der Ausgabe. Die oben genannten nicht funktionieren, für die Eingabe mit Leerzeichen. Sie können versuchen, wie unten beschrieben. Aber ich nicht vorschlagen, die unter Betrieb, da hat es zu viele string-operation.
Können Sie auch versuchen, StringUtils.leftPad
der code kann geändert werden, wie folgt:
String sendID = "AA BB";
String usiSuffix = String.format("%32s", "").replace(' ','0');
sendID = usiSuffix+sendID;
Das werden einfach zu viele String-Operationen, um eine einfache Aufgabe 🙂
InformationsquelleAutor Jayamohan
Können Sie nicht verwenden
String.format()
für Polsterung mit beliebigen Zeichen. Vielleicht Apache Commons StringUtils.leftPad() wäre für eine übersichtliche Lösung ? Hinweis: es gibt auch eineStringUtils.rightPad()
zu.InformationsquelleAutor Brian Agnew
Ich nur hinzufügen, dass einige Java-8-code, wenn jemand es brauchen in Zukunft:
Diese version unterstützt das hinzufügen von beliebigen char als Polsterung
replace(" ", pad+"")
(d.h. mit der substring-Unterschrift desreplace
), anstatt einfachreplace(' ', pad)
?Nein. Schreiben Sie einfach im IDE und
replace(" ", pad+"")
war "schneller" - Typ.InformationsquelleAutor Koziołek
Dies ist, wie ich dieses Problem gelöst mit dem base-jdks String.format-Funktion
InformationsquelleAutor user3534893