[RESPONDIDO] Ajuda na procura de carectere. Espaço em branco
8 respostas
novaes555
Boa tarde a todos.
tenho um código que conta o total de espaços em branco na uma string, na minha verificação só posso ter um espaço em branco no tamanho da string = 1 se tiver mais espaços em branco e essa quantidade for igual ao tamanho da minha string apresento um erro. está funcionando, roda perfeitamente com poucos caracteres. o o problema que tenho q fazer verificações em campos, documentos. Cada documento tem aproximadamente 32mil linhas, no mínimo. verifico a cada 5 arquivos, salvo no banco, de 10 em 10 minutos, mas o que esta acontecendo é que qdo esta iniciando a verificação do ultimo, o serviço entra em um novo processo. verificando mais 10 novos arquivos.
qro ajuda referente a este código. como contar espaços em branco com uma performance melhor… Segue o código abaixo:
Não sei se fica mais rápido, mas se a memória aguentar você passa o texto do arquivo todo aí
Ainda não. Farei e postarei a resposta. Mto obrigado.
novaes555
Teste com meu código
String texto = " Nessa String existem 20 \n espaços em branco ";
int count = 0;
long tempoInicial = System.currentTimeMillis();
long tempoFinal = 0;
for(int i = 0; i < 100000; i++){
int count = texto.length() - texto.replace(" ","").length();
tempoFinal = System.currentTimeMillis();
System.out.println(count);
}
System.out.println("Tempo em millis: " + (tempoFinal - tempoInicial) );
Tempo em millis: 2964
Tempo em millis: 2409
Tempo em millis: 2855
teste com o código do Rodrigo Sasaki
String texto = " Nessa String existem 20 \n espaços em branco ";
Pattern p = Pattern.compile(" +");
Matcher m = p.matcher(texto);
int count = 0;
long tempoInicial = System.currentTimeMillis();
long tempoFinal = 0;
for(int i = 0; i < 100000; i++){
while(m.find()){
count += m.group().length();
}
tempoFinal = System.currentTimeMillis();
System.out.println(count);
}
System.out.println("Tempo em millis: " + (tempoFinal - tempoInicial) );
Tempo em millis: 1368
Tempo em millis: 1114
Tempo em millis: 1147