2015-12-22 2 views
3

Я пытаюсь добавить разрывы строк в String.
AKA Мне нужны строки, которые имеют максимум (то есть) 100 символов.RegExp для добавления linebreak -> Всегда добавляет слишком много

Благодаря людям здесь, я уже нашел ответ, который дает мне это:

res.replaceAll("(.{0,100}) \\b", "$1\\|"); 

(где | позже будет заменен на разрыв строки)

Только проблема: последний линия всегда заканчивается чередой слишком много!

Последнее слово в тексте ВСЕГДА заканчивается в следующей строке. Я могу понять, почему, в конце концов, это последнее место в последней группе из 100 символов; но для того, что я хочу сделать, это неприемлемо, потому что, конечно, последняя группа из 100 символов должна оставаться вместе.

Как исправить это? Я не могу просто удалить последнюю строку, потому что тогда у меня может быть слишком длинная строка.

+1

Вы должны указать в ** ** это вопрос, что вы пытаетесь заменить. –

+0

Я хочу заменить пробелы между словами с помощью строки ... Я не уверен, как это не ясно? – Layna

ответ

3

Вы должны соответствовать либо пробел или конец строки:

res.replaceAll("(.{1,100})(\\s|$)\\b", "$1\\|"); 
+0

Спасибо! Да, это логично, так или иначе полностью упустило эту идею :). – Layna

Смежные вопросы