Есть ли функция left() для строк Java?

У меня есть строка str неизвестной длины (но не null) и заданная максимальная длина len, это должно вписываться. Все, что я хочу сделать, это вырезать строку в len.

Я знаю, что могу использовать

str.substring(0, Math.min(len, str.length()));

но это не пригодится, если я попытаюсь написать сложный код, подобный этому

code = str.replace(" ", "").left(len)

Я знаю, что могу написать свою собственную функцию, но я предпочел бы существующее решение. Есть ли в Java существующая функция left()?

Ответ 1

Там ничего не встроено, но у сообщества Apache есть класс StringUtils, который имеет подходящую left функцию для вас.

Ответ 2

Если вы не хотите добавлять библиотеку StringUtils, вы все равно можете использовать ее так, как хотите:

String string = (string.lastIndexOf(",") > -1 )?string.substring(0, string.lastIndexOf(",")): string;

Ответ 3

Нет класса left() в классе String, поскольку вы можете ссылаться на API. Но поскольку @Mark сказал, что Apache StringUtils имеет несколько методов: leftPad(), rightPad(), center() и repeat(). Вы также можете проверить  это: http://www.jdocs.com/lang/2.1/org/apache/commons/lang/StringUtils.html