Pessoal, ola, estou com um problema
tenho uma String e gostaria de a cada 255 caracteres cortala em uma nova posição em um array…
como faço isso?
obrigado!
Pessoal, ola, estou com um problema
tenho uma String e gostaria de a cada 255 caracteres cortala em uma nova posição em um array…
como faço isso?
obrigado!
Cara obrigado, mas eu ja tentei…
o problema é que preciso varrer a
String inteira, e não sei como aumentar o parametros final do substring…
Por que você precisa varrer a String inteira?
porque a cada 255 caracteres irei jogar em um array…
E, por que isso te forçaria a ler a String inteira?
Vc pode fazer algo parecido com isso aqui:
[code]public static String[] recortaString( String str, int tamanhoRecorte ) {
int tArray = str.length() % tamanhoRecorte == 0 ? str.length() / tamanhoRecorte : ( str.length() / tamanhoRecorte ) + 1;
String[] array = new String[ tArray ];
StringBuilder sb = new StringBuilder();
int contArray = 0;
int contChar = 0;
for ( char a : str.toCharArray() ) {
sb.append( a );
contChar++;
if ( contChar == tamanhoRecorte ) {
array[ contArray ] = sb.toString();
sb = new StringBuilder();
contChar = 0;
contArray++;
}
}
if ( contChar != 0 ) {
array[ contArray ] = sb.toString();
}
return array;
}[/code]
Consulte a documentação, lá vc vai encontrar tudo que precisa para construir a grande maioria dos seus algoritmos.
[]´s
Aprendi esta dica aqui no GUJ! método simples com expressões regulares:
public static String[] splitString(String input){
return input.replaceAll("(.{255})","$1:").split(":");
}
[quote=ctdaa]Aprendi esta dica aqui no GUJ! método simples com expressões regulares:
[code]
public static String[] splitString(String input){
return input.replaceAll("(.{255})","$1:").split(":");
}
[/code][/quote]
Muito melhor
[quote=ctdaa]Aprendi esta dica aqui no GUJ! método simples com expressões regulares:
[code]
public static String[] splitString(String input){
return input.replaceAll("(.{255})","$1:").split(":");
}
[/code][/quote]
Ola amigo!
Essa sua lógica está meio furada, pois se tiver : em outra posiçao da string seu split vai quebrar errado, sendo assim nao garante o tamanho de 255.
Att.
Tá bom… foi só um exemplo, o programador adapta para sua necessidade… pode escolher um delimitador melhor, pode ser até um caracter não imprimível que o usuário não digita…
Olha, fiz um código bem amador, mas acho que essa é a idéia:
class RecortaString{
public static void main(String[] args){
String teste = new String("Antonio Nunes!!!");
recortaString(teste);
}
public static void recortaString(String a){
final int qtdRecorte = 5; // Aqui defini o tamanho do recorte, no seu caso é 255
int pontoInicial=0, int pontoFinal=0, int contStr=0;
while(pontoFinal < a.length()){
if(contStr == qtdRecorte){
System.out.println(a.substring(pontoInicial,pontoFinal));
pontoInicial = pontoFinal;
contStr = 0;
}
else{
pontoFinal++;
contStr++;
}
}
if(contStr!=0){// Isso aqui é pra pegar o resto da String
System.out.println(a.substring((a.length() - contStr),a.length()));
}
}
}
Flws
Obrigado pessoal. Consegui!
alis não precisa varrer a String…
desculpem pela ignorancia!
Obrigado!