Мне нужно создать строку фиксированной длины для создания файла на основе позиции символа. Пропущенные символы должны быть заполнены пробелом.
Например, поле CITY имеет фиксированную длину в 15 символов. Для входов «Чикаго» и «Рио-де-Жанейро» выходы:
"Чикаго" " Рио де Жанейро".
java
string
formatting
Рафаэль Борха
источник
источник
Ответы:
Начиная с Java 1.5 мы можем использовать метод java.lang.String.format (String, Object ...) и использовать формат, подобный printf.
Строка формата
"%1$15s"
выполняет свою работу. Где1$
указывает индекс аргумента,s
указывает, что аргумент является строкой и15
представляет минимальную ширину строки. Собираем все вместе:"%1$15s"
.Для общего метода у нас есть:
Может быть, кто-нибудь может предложить другую строку формата, чтобы заполнить пустые места конкретным символом?
источник
Maybe someone can suggest another format string to fill the empty spaces with an specific character?
- взгляните на ответ, который я дал.1$
представляет индекс аргумента и15
ширинуИспользуйте
String.format
отступы с пробелами и замените их желаемым символом.Печать
000Apple
.Обновите более производительную версию (поскольку она не полагается на
String.format
нее), в которой нет проблем с пробелами (спасибо Рафаэлю Борха за подсказку).Печать
00New York
.Но необходимо добавить проверку, чтобы предотвратить попытку создания массива символов с отрицательной длиной.
источник
В этом коде будет точно заданное количество символов; заполнены пробелами или усечены с правой стороны:
источник
Вы также можете написать простой метод, как показано ниже
источник
Для правильной колодки вам понадобится
String.format("%0$-15s", str)
т.е.
-
знак будет "правой" площадкой, и никакой-
знак не будет "левой" площадкойсм. мой пример здесь
http://pastebin.com/w6Z5QhnJ
ввод должен быть строкой и числом
пример ввода: Google 1
источник
Намного лучше, чем Гуава имо. Никогда не видел ни одного корпоративного Java-проекта, использующего Guava, но Apache String Utils невероятно распространен.
источник
В библиотеке Guava есть Strings.padStart, который делает именно то, что вы хотите, а также многие другие полезные утилиты.
источник
Вот хитрый трюк:
источник
Вот код с тестами;):
Мне нравится TDD;)
источник
Отличное резюме здесь
источник
Этот код отлично работает.
Удачного кодирования !!
источник
источник
У меня работает эта простая функция:
Призыв:
источник