Can we use String.format() to pad/prefix with a character with desired length?

后端 未结 5 715
广开言路
广开言路 2021-01-04 10:13

Can java.lang.String.format(String str, String str1) be used for adding prefix of a particular character.

I could do this for a number like:



        
5条回答
  •  一整个雨季
    2021-01-04 10:36

    You can do as below if you really want to use String.format,

    String sendID = "AABB";
    String.format("%32s", sendID ).replace(' ', '0')
    

    Other than String.format you can find many solutions here.

    Edit: Thanks for Brian to point of the issue. The above wont work for input with spaces. You can try as below. But I wont suggest the below operation as it has too many string operation.

    String sendID = "AA BB";
    String suffix = String.format("%32s", "").replace(' ', '0') + sendID;
    sendID = suffix.substring(sendID.length());
    

    You can also try using StringUtils.leftPad

    StringUtils.leftPad(sendID, 32 - sendID.length(), '0');
    

提交回复
热议问题