Дополнить строку пробелами или нулями справа

В этом уроке показано, как добавить правильный отступ к строке, чтобы общая длина дополненной строки была фиксированным числом. Например, если у нас есть строка длиной 10, и мы хотим увеличить ее длину до 15 — добавив правильный отступ.

howtodoinjava.com //no paddinghowtodoinjava.com //right padding of 4 spaceshowtodoinjava.com.... //right padding of 4 dotshowtodoinjava.com0000 //right padding of 4 zeros

1. Использование простого Java

Хорошим способом начать является создание пользовательского API, который удовлетворяет всем требованиям. Следующий метод использует String.repeat() API для создания правильного pad, а затем добавляет его к входной строке для построения окончательной строки.

public static String rightPad(String input, int length, String padStr) {if(input == null || padStr == null){return null;}if(input.length() >= length){return input;}int padLength = length - input.length();StringBuilder paddedString = new StringBuilder();paddedString.append(input);paddedString.append(padStr.repeat(padLength));return paddedString.toString();}

Мы можем протестировать метод rightPad() следующим образом:

Assertions.assertEquals("1234567890", rightPad("123456789", 10, "0"));Assertions.assertEquals("howtodoinjava ", rightPad("howtodoinjava", 20, " "));

2. Дополнение строки справа с помощью StringUtils.rightPad()

Класс StringUtils предоставляет полезные методы для изменения строк для получения желаемых эффектов. Его rightPad() добавляет правый отступ, используя указанный символ pas или строку. Используйте StringUtils.leftPad() для левого отступа строки в Java.

public static String rightPad(str, size);public static String rightPad(str, size, padStr);public static String rightPad(str, size, padChar);

2.1.Мавен

Начните с добавления в проект последней версии библиотеки Apache common-lang3.

<dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.12.0</version></dependency>

2.2. Отступ справа с пробелами

В следующей программе мы дополняем строку «java» справа. Пустое пространство используется как символ дополнения.

Assertions.assertEquals(null, StringUtils.rightPad(null, 50, " "));Assertions.assertEquals("java ", StringUtils.rightPad("java", 5, " "));Assertions.assertEquals("java ", StringUtils.rightPad("java", 10, " "));

2.2. Дополнение нулями справа

В следующей программе мы дополняем число «123» справа. Используемый символ дополнения — ноль.

Assertions.assertEquals("12300", StringUtils.rightPad("123", 5, "0"));Assertions.assertEquals("1230000000", StringUtils.rightPad("123", 10, "0"));

3. Дополнение строки справа с помощью Strings.padEnd()

Класс Strings является частью библиотеки Guava и предоставляет методы утилит для изменения строк. Начните с добавления последней версии Guava в проект.

<dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>31.1-jre</version></dependency>

Теперь мы можем использовать API Strings.padEnd() для добавления правильного отступа следующим образом:

Assertions.assertEquals("1234567890", Strings.padEnd("123456789", 10, '0'));Assertions.assertEquals("howtodoinjava ", Strings.padEnd("howtodoinjava", 20, ' '));

4. Заключение

В этом уроке по Java String мы научились дополнять строку пробелами, нулями или любыми символами дополнения, чтобы изменить строку и сделать ее фиксированной длины. Мы научились использовать классы StringUtils, Strings и создавать собственное решение для правильного дополнения.

Исходный код на Github

Прокрутить вверх