如何在 Java 中填充字符串

10 Sept 2024 | 4 分钟阅读

在 Java 中,字符串填充是指在字符串的开头、结尾或两边添加特定字符(通常是空格或选定的字符)的做法。这项技术用于达到指定的长度或统一文本对齐。它在多种场景中都有广泛应用,包括在表格格式中组织文本、对齐文档或报告中的内容,或改善文本输出的整体外观。

示例 1

输入

String str1 = "Java";

char ch1 = '-';

int L1 = 10;

输出

左填充: "------Java"

居中填充: "---Java----"

右填充: "Java------"

示例 2

输入

String str2 = "123";

char ch2 = '*';

int L2 = 8;

输出

左填充: "*****123"

居中填充: "**123***"

右填充: "123*****"

方法:使用 String format() 方法

Java 中的 String.format() 方法使用给定的区域设置、指定的格式字符串和参数返回一个格式化字符串。该方法允许创建带有占位符被格式化值替换的字符串。

语法

  • format: 一个包含参数占位符的格式字符串。占位符用 % 后跟格式说明符表示。例如,%s 用于字符串,%d 用于整数,%f 用于浮点数,依此类推。
  • arg1, arg2, ...: 要格式化并替换到格式字符串中占位符的参数。

算法

步骤 1: 将原始字符串 (originalString) 设置为 "Hello",并将期望的填充长度 (desiredLength) 定义为 10。

步骤 2: 调用 padRight 方法,传入原始字符串、期望长度和填充字符 '_',以获取右填充的字符串。

步骤 3: 调用 padLeft 方法,传入原始字符串、期望长度和填充字符 '_',以获取左填充的字符串。

步骤 4: 通过使用 `String.format` 将 `input` 左对齐来创建右填充字符串,用 `paddingChar` 替换空格,然后返回它。

步骤 5: 通过使用 `String.format` 将 `input` 右对齐来左填充 `input`,用 `paddingChar` 替换空格,然后返回结果。

实施

文件名: StringPaddingExample.java

输出

Padded Right: 'Hello_____'
Padded Left: '_____Hello'

方法:使用 Apache Common Lang

Apache Commons Lang 的 StringUtils 类提供了诸如 leftPad()、center() 和 rightPad() 等便捷方法,用于轻松地在左侧、中间和右侧填充字符串。这些方法通过添加填充字符来对齐指定长度的文本,非常有用。此功能常用于格式化输出、设计用户界面和对齐报告中的数据等场景。这些方法的简洁性和有效性有助于提高 Java 应用程序中代码的可读性和呈现效果。

算法

步骤 1: 初始化一个字符串 originalString 和一个整数 desiredLength。

步骤 2: 调用 padLeft,传入 originalString、desiredLength 和一个填充字符,将结果存储在 leftPadded 中。打印 leftPadded。

步骤 3: 调用 padCenter,传入 originalString、desiredLength 和一个填充字符,将结果存储在 centerPadded 中。打印 centerPadded。

步骤 4: 调用 padRight,传入 originalString、desiredLength 和一个填充字符,将结果存储在 rightPadded 中。打印 rightPadded。

步骤 5: 实现 `StringUtils.leftPad`,将指定的填充字符添加到输入字符串的开头,直到达到期望的长度,然后返回此左对齐的字符串。

步骤 6: 使用 `StringUtils.center` 将输入字符串定位在设定长度的字段中间,用选定的字符填充两侧的空间,然后返回此居中对齐的字符串。

步骤 7: 应用 `StringUtils.rightPad`,将选定的填充字符添加到输入字符串的末尾,直到达到指定的长度,然后返回此右对齐的字符串。

实施

文件名: StringUtilsExample.java

输出

Left Padded: '__________Hello'
Center Padded: '______Hello______'
Right Padded: 'Hello____________'