当前位置: 首页 > 知识库问答 >
问题:

生成填充有空格的固定长度字符串

颛孙天宇
2023-03-14

我需要产生固定长度的字符串来生成一个基于字符位置的文件。缺少的字符必须用空格字符填充。

例如,字段CITY具有15个字符的固定长度。对于输入“芝加哥”和“里约热内卢”,输出为

"        Chicago"
" Rio de Janeiro"

共有3个答案

靳越
2023-03-14

此代码将精确地具有给定数量的字符;用空格填充或在右侧截断:

private String leftpad(String text, int length) {
    return String.format("%" + length + "." + length + "s", text);
}

private String rightpad(String text, int length) {
    return String.format("%-" + length + "." + length + "s", text);
}
宗安翔
2023-03-14

利用< code>String.format的空格填充并用所需的字符替换它们。

String toPad = "Apple";
String padded = String.format("%8s", toPad).replace(' ', '0');
System.out.println(padded);

打印< code>000Apple。

更新更高性能的版本(因为它不依赖于< code>String.format),没有空格问题(thx to Rafael Borja for the hint)。

int width = 10;
char fill = '0';

String toPad = "New York";
String padded = new String(new char[width - toPad.length()]).replace('\0', fill) + toPad;
System.out.println(padded);

打印00纽约

但需要添加一个检查,以防止尝试创建具有负长度的字符数组。

长孙绍辉
2023-03-14

从Java1.5开始,我们可以使用Java.lang.String方法。格式化(字符串、对象…)并使用类似printf的格式。

格式字符串"%1$15s"完成这项工作。其中1$表示参数索引s表示参数是String,15表示String的最小宽度。将它们放在一起:"%1$15s"

对于一般方法,我们有:

public static String fixedLengthString(String string, int length) {
    return String.format("%1$"+length+ "s", string);
}

也许有人可以建议使用另一种格式字符串来用特定字符填充空格?

 类似资料:
  • 问题内容: 我需要产生固定长度的字符串以生成基于字符位置的文件。缺少的字符必须用空格字符填充。 例如,字段CITY具有15个字符的固定长度。对于输入“芝加哥”和“里约热内卢”,输出为 。 问题答案: 从Java 1.5开始,我们可以使用方法java.lang.String.format(String,Object …) 并使用类似于printf的格式。 格式字符串可以完成这项工作。其中表示参数索引

  • 我想将字符串拆分为固定长度,例如,拆分20个字符,如果拆分后长度小于20个字符,则用最多20个字符的空格填充字符串。 我使用上面的代码按相等大小进行拆分。

  • 问题内容: 我确信很多地方都可以找到它,但是我不知道我要执行的操作的确切名称,因此我无法真正查找它。我已经读了30分钟的Python官方书,试图找出方法。 问题:我需要将字符串放在一定长度的“字段”中。 例如,如果名称字段的长度为15个字符,而我的名字是John,则将得到“ John”,后跟11个空格以创建15个字符的字段。 我需要使用它来为变量“ name”输入任何字符串。 我知道这可能是某种格

  • 我想生成一个固定长度的散列字符串。我正在为此使用MessageDigest API。我注意到API中的这个函数,但它返回的是整数而不是字节数组。 当我尝试使用此重载摘要方法时,我得到 java.security.DigestException:对于 SHA-256 摘要,长度必须至少为 32,或者输出缓冲区对于指定的偏移量和长度来说太小。 有人能举个例子来说明如何生成固定长度的哈希值吗?

  • 我需要生成一个固定长度的文本行: 我现在有的是: 这非常有用,因为生成了一个55个字符的固定长度的字符串。 例如,当可选值为空字符串时,就会出现问题,例如: 在string.format中有空字符串不会给出固定的长度,我仍然需要有30个字符的长度。 任何线索都非常感谢!! 谢谢

  • 问题内容: 在Go语言中,我只需要一个随机的字符串(大写或小写),没有数字。最快和最简单的方法是什么? 问题答案: Paul的解决方案提供了一个 简单的 通用解决方案。 问题要求 “最快,最简单的方法” 。让我们也讨论 最快的 部分。我们将以迭代的方式得出最终的最快的代码。对每个迭代进行基准测试可以在答案的结尾处找到。 所有解决方案和基准代码都可以在GoPlayground上找到。Playgrou