Развернуть дальше answer, используя это регулярное выражение (?<=\\G.{" + count + "})
; Я также хотел бы изменить выражение на не разделить слова в середине.Сплит-строка на n-ом символе, сохраняющем слова
Пример:
String string = "Hello I would like to split this string preserving these words";
, если я хочу, чтобы разделить на 10 символов, она будет выглядеть следующим образом:
[Здравствуйте, я шо, пакетирование, как т, о разделенной го, является строка , сохраняя эти Уборочные Д.С.]
Вопрос:
Возможно ли это, используя только regex
, или потребуется лексер или некоторые другие манипуляции с строкой?
UPDATE
Это то, что я хочу, чтобы использовать его на:
+ -------------------------------------------JVM Information------------------------------------------ + | sun.boot.class.path : C:\Program Files\Java\jdk1.6.0_33\jre\lib\resources.jar;C:\Program Files\Java\ | | jdk1.6.0_33\jre\lib\rt.jar;C:\Program Files\Java\jdk1.6.0_33\jre\lib\sunrsasig | | n.jar;C:\Program Files\Java\jdk1.6.0_33\jre\lib\jsse.jar;C:\Program Files\Java | | \jdk1.6.0_33\jre\lib\jce.jar;C:\Program Files\Java\jdk1.6.0_33\jre\lib\charset | | s.jar;C:\Program Files\Java\jdk1.6.0_33\jre\lib\modules\jdk.boot.jar;C:\Progra | | m Files\Java\jdk1.6.0_33\jre\classes | + ---------------------------------------------------------------------------------------------------- +
Ящик вокруг него имеет ограничение на количество символов минус ключ ширины, однако это не выглядит хорошо. Этот пример также не является единственным прецедентом, я использую этот блок для нескольких типов информации.
Можете ли вы изменить это, чтобы стать самостоятельным вопросом? (Держите ссылку, хотя) – Thilo
Я бы использовал простой лексер. Это может быть немного дольше, но было бы легче понять. ;) –
@Thilo, done :) – epoch