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.
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.
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…
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.
É 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!!
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…
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?