我正在尝试格式化字符串并将其写入文件。请参阅下面的代码
StringBuilder sb=new StringBuilder();
sb.insert(0, String.format("%-30s", recDataWithWarId.getRiaFirmName() != null ? recDataWithWarId.getRiaFirmName() : " "));
我想达到的条件是(我已经掌握了下面提到的条件 1):
如果
recDataWithWarId.getRiaFirmName()
的长度不是三十个字符或为 null,我想用空格填充剩余的空间。如果长度大于 30,我还想将
<recDataWithWarId.getRiaFirmName()
限制为 30,我希望此代码能够自动完成。
实现这两个条件的最有效方法是什么,而不必编写冗长的代码,一个用于子字符串,一个用于格式化?我必须在多个地方执行此操作,因为这是一个相当大的文本文件。
最佳答案
您需要在格式字符串中指定精度和宽度。你想要 "%-30.30s"
第一个 -30
指定值将在右侧填充到 30 个字符。小数点后的30
指定最大字符数。
关于java - 将字符串格式化为特定精度时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42145574/