public ResultadoAnalisisTexto AnalizarTextoOld(string texto) { var res = new ResultadoAnalisisTexto(); var buffer = texto.Replace(_alfabeto.SeparadorParrafosCompleto, _alfabeto.SeparadorParrafos.ToString()).ToCharArray(); try { int palabrasXOracion = 0; bool antEspecial = false; for (var i = 0; i < buffer.Length; i++) { if (carEspeciales.Contains(buffer[i])) { // Se evita el caso de varios caracteres especiales seguidos if (!antEspecial) { antEspecial = true; palabrasXOracion++; if (palabrasXOracion == 16) { res.OracionesConMasDe15Pal++; } } if (buffer[i] == _alfabeto.SeparadorOraciones) { palabrasXOracion = 0; } else if (buffer[i] == _alfabeto.SeparadorParrafos) { res.Parrafos++; palabrasXOracion = 0; } if (i > 0 && buffer[i - 1] == 'n') { res.PalabrasTerminadasEnn++; } } else { antEspecial = false; if (!carExcluidos.Contains(buffer[i])) { res.NumeroCaracteresDistintosANn++; } } } } finally { buffer = null; } return(res); }
public void GuardarDatos(Transversal.Entidades.DatosAnalisisTexto datos, ResultadoAnalisisTexto resultado) { Task.Factory.StartNew(() => { using (var archivo = new System.IO.StreamWriter(System.IO.Path.Combine(_rutaArchivos, string.Format(_nombreArchivo, datos.IdCliente, datos.IdPeticion)))) { archivo.WriteLine("ESTADISTICAS"); archivo.Write("Palabras Terminadas en con la letra n: "); archivo.WriteLine(resultado.PalabrasTerminadasEnn); archivo.Write("Oraciones con más de 15 palabras: "); archivo.WriteLine(resultado.OracionesConMasDe15Pal); archivo.Write("Parrafos: "); archivo.WriteLine(resultado.Parrafos); archivo.Write("Caractes Alfanumericos distintos a n o N: "); archivo.WriteLine(resultado.NumeroCaracteresDistintosANn); archivo.WriteLine("TEXTO"); archivo.Write(datos.Texto); } }); }