Como usar uma expressão regular para cortar uma string no último espaço dado um determinado tamanho?

1 resposta
splitstringjavaregex
G

Fala pessoal.

Estou criando um app para um exercicio da faculdade, porém estou com uma certa dificuldade para acertar na expressão regular usando regex.

A expressão que criei e coloquei dentro do meu methodo split ficou assim:

(\\s+|$)(?<=\\G.{50})

O que isso faz é o seguinte, após eu passar um texto, a expressão considera o último espaço dentro de um range de 50 caracteres.
O resultado ficou correto na primeira posição da minha array de strings, contudo a segunda posição eu infelizmente obtive o resto do texto sem continuar cortando conforme eu esperava.

Caso eu use apenas:

(?<=\\G.{50})

Eu consigo obter o resultado cortando todo o texto a cada 50 caracteres, contudo, se uma palavra for grande e estiver dentro do range, a palavra é cortada ao meio, o que é considerado um resultado errado.

Alguém que manja de regex em java poderia me dar uma mão?

O exercício obrigatoriamente requer o uso de expressões regulares; Eu poderia fazer o exercicio de outra forma, mas o objetivo não seria esse.

1 Resposta

G

Alguém saberia me ajudar com isso?

Criado 24 de novembro de 2017
Ultima resposta 25 de nov. de 2017
Respostas 1
Participantes 1