Dúvida para Split

5 respostas
D

Estou iniciando em Java e estou com a seguinte dúvida.
Como eu faço para a partir de uma string, separá-la em um array?
Mas cada item desse array não pode conter mais de 132 caracteres, e nem posso cortar as palavras ao meio.

Obrigado.

5 Respostas

caique_castanho

Use o método split() da classe String. Esse método separa a string de acordo com o parâmetro passado, por exemplo:

String data = "15/12/2006";
String [] array = data.split("/");

Como foi passado “/” como parâmetro o método quebra a string onde houver ocorrência de barra, consequentemente o conteúdo do array ficará assim:

array[0] =>15
array[1] => 12
array[2] => 2006

Até mais…

peczenyj

Se vc fizer um split usando uma expressão regular que pegue espaço em branco e tabs ( ACHO que fica assim: “[\\ \\t]” ) vc vai ter um array com cada palavra.

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html#split(java.lang.String)

Todavia, parece que vc quer grupos de palavras com menos ou até 132 caracteres, contando espaço e tab. Ai tem q pensar um pouco mais.

Eu faria assim: pegaria os primeiros 132 caracteres e encontraria o ultimo espaço em branco, pegaria o indice desse espaço em branco e dividiria a string em 2, pegando a primeira, adicionando em um vector, e o resto eu investigaria novamente, de forma iterativa, até não encontrar mais nada.

D

É eu preciso em cada linha ter o máximo de palavras possíveis até 132 caracteres, o método split não vai servir nesse caso, pois eu não tenho nenhum delimitador.
Vou tentar fazer dessa maneira peczenyj.

Valeu!!

peczenyj

como não tem nenhum delimitador? vc não pode ter palavras quebradas, certo? como vc define onde termina ou começa uma palavra? atraves de delimitadores… think well…

D

Eu posso separar cada palavra usando espaços como o delimitador, mas se eu separar por palavras e tiver um string muito grande (será um texto inserido pelo usuário), acredito que eu terei que alocar muita memória para esse array.
Existe uma limitação para o tamanho de um array?

Criado 15 de dezembro de 2006
Ultima resposta 15 de dez. de 2006
Respostas 5
Participantes 3