java - 将字符串格式化为特定精度时遇到问题

标签 java regex string substring

我正在尝试格式化字符串并将其写入文件。请参阅下面的代码

StringBuilder sb=new StringBuilder();
sb.insert(0, String.format("%-30s", recDataWithWarId.getRiaFirmName() != null ? recDataWithWarId.getRiaFirmName() : " "));

我想达到的条件是(我已经掌握了下面提到的条件 1):

  1. 如果 recDataWithWarId.getRiaFirmName() 的长度不是三十个字符或为 null,我想用空格填充剩余的空间。

  2. 如果长度大于 30,我还想将 recDataWithWarId.getRiaFirmName() 限制为 30,我希望此代码能够自动完成。

    <

实现这两个条件的最有效方法是什么,而不必编写冗长的代码,一个用于子字符串,一个用于格式化?我必须在多个地方执行此操作,因为这是一个相当大的文本文件。

最佳答案

您需要在格式字符串中指定精度和宽度。你想要 "%-30.30s"

第一个 -30 指定值将在右侧填充到 30 个字符。小数点后的30指定最大字符数。

关于java - 将字符串格式化为特定精度时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42145574/

相关文章:

java - REST Web 服务 : synchronous or asynchrous?

java - 为什么 java.lang.Thread 在启动时不调用其显式 java.lang.Runnable 的 run() 方法?

html - html 的 href 和 src 链接中的 RegEx 有效相对 url

java - 在 Android 中使用 TextUtil 类比 String 类有什么优势吗?

c++ - 动态字符串数组构造函数和 null 返回

Java GUI编程关闭当前Frame

regex - 正则表达式正确将Weblog导入Hive

Python正则表达式拆分多个匹配项

language-agnostic - 如何从字符串创建一个 SEO 友好的破折号分隔的 url?

java - 将 System.out.println 重定向到 Log4J,同时保留类名信息