Hola
Podrías usar expresiones regulares
Código asp:
Ver originalDim n, objRegExp, strClave, Coincidencia, cadena, array_cadena, i
Function Encuentra (plbraClave)
cadena = "blanco negro azul blanco azul negro rojo"
array_cadena = Split(plbraClave,"-")
For n=0 to UBound(array_cadena)
i = 0
Response.Write array_cadena(n)
Set objRegExp = new RegExp
With objRegExp
.Pattern = "\b("&array_cadena(n)&")+\b"
.IgnoreCase = True
.Global = True
End With
Set strClave = objRegExp.Execute(cadena)
For Each Coincidencia in strClave
i = i +1
Next
Response.Write " : " & i & "<br />"
Set strClave = nothing
Set objRegExp = nothing
Next 'n
End Function
Response.Write Encuentra("blanco-negro-rojo")
EDITADO: No siempre se logra a la primera
Suerte