Visual Basic.NET - ayuda con expresion regular

 
Vista:

ayuda con expresion regular

Publicado por jesus (2 intervenciones) el 08/09/2004 19:40:01
hola necesito construir una expresion regular que se encargue de contar bloques de uno y ceros de diferendes longitudes en una cadena binaria. ejm
01010010101101011101010111
bloques de log 1 de unos:7
bloques de long2 de unos:1
bloques de long3 de unos:2
quien me pueda ayudar se lo agradecere.
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda con expresion regular

Publicado por Edgar (1501 intervenciones) el 08/09/2004 19:58:33
Hola

Esto lo puedes resolver sin necesidad de usar expresiones regulares... lo que puede hacer es usar el método IndexOf del string para ubicar la primera ocurrencia de una cadena.. si no existe ninguna ocurrencia te devuelve -1, si la consigue te devuelve la posición de la primera ocurrencia. Pues simplemente vas iterando mientras el indice sea distinto de -1, y cada vez que consigas una ocurrencia invocas el metodo Remove para elimianar esa ocurrencia

El codigo te quedaria algo asi

Dim s as string
s = 01010010101101011101010111
Dim i as Integer
i = s.IndexOf("111")
While (i<>-1)
s.Remove(i,3)
i = s.IndexOf("111")
Wend

Esto lo repites con los demás, claro que para que esto funcione, debes ir desde las cadenas más largas a las más cortas...

Espero haberte dado una idea de como solucionar tu problema

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar