Ver Mensaje Individual
  #10 (permalink)  
Antiguo 28/10/2010, 15:22
pancho2413
 
Fecha de Ingreso: septiembre-2009
Ubicación: Cuenca
Mensajes: 57
Antigüedad: 15 años, 5 meses
Puntos: 3
Respuesta: Número de apariciones en un String C#

He hallado una pequeña forma haciendo pruebas de velocidad entre varias formas planteadas y son las siguientes:
Código C#:
Ver original
  1. int cont = cadena.Split(new String[] { patron }, StringSplitOptions.None).Count() - 1;
  2. int cont2 = cadena.Length - cadena.Replace(patron, " ").Length;
  3. // reemplazo con " " porque 'patrón' tiene 2 caracteres.
  4. // Si fuese uno solo, lo reemplazaría con ""

Dos aclaraciones: Mi pequeña rutina definitivamente la deseché por ser lenta. La sugerencia de ramiroli la agradezco pero resultó que también tuve que desecharla por ser no rápida tampoco.

Bueno, la conclusión es la siguiente: usando una cadena de longitud 4 320 000,

La primera encuentra 1 600 000 repeticiones de un patrón en 2 segundos.
La segunda entruentra 1 600 000 repeticiones en menos de 1 segundo.

Así que la segunda que encontré es la más rápida de todas las formas que he podido hallar. Gracias a todos. Les agradezco y me siento feliz de haber terminado con esto.