2013-09-20 3 views
1

Я хотел бы разбить строку на подстроки, которые имеют 20 символов (или меньше для хвоста). Есть ли какая-нибудь библиотека или мне нужно сделать класс для этого?Разбиение строки на равные части (java/groovy)

+2

Просто используйте подстроки. Там может быть * функция библиотеки где-то, которая делает это, но это достаточно легко сделать, что я не буду слишком долго ее искать. –

+0

%), видимо, однако с «groovy» это может быть еще проще. Будем ждать других ответов – Archer

ответ

10

вы должны использовать:

s.split("(?<=\\G.{20})"); 

\G является нулевой шириной утверждения, что соответствует положению, когда предыдущий матч закончился. Если предыдущее совпадение не было, оно соответствует началу ввода, то же, что и \A. Входящий lookbehind соответствует позиции, которая составляет 20 символов, начиная с конца последнего совпадения.

+0

Спасибо за оба ответа. – Archer

+0

Добро пожаловать –

3

Или, с помощью Groovy вы можете сделать:

assert 'abcdefghij'.toList().collate(3)*.join() == ['abc', 'def', 'ghi', 'j'] 
Смежные вопросы