2012-05-03 6 views

Respuesta

2

Usted puede utilizar la función InStr() para esto:

Dim positionOfMatchedString 
positionOfMatchedString= InStr(rs("mainVideoName"),"http://www.youtube.com") 

If positionOfMatchedString > 0 Then 
    // Do your stuff here 
End If 

Como señala Anthony, este le dice que se string2 contenida en cadena1. Se puede escribir como:

If positionOfMatchedString = 1 Then 

para comprobar que comenzando con.

+0

cadenas están indexados de 1 en VB? :( –

+0

Si string2 no se encuentra, InStr devuelve 0. http://msdn.microsoft.com/en-us/library/wybb344c%28v=vs.85%29.aspx –

+0

@JamieDixon: a)> 0 pruebas que string2 está _contained_ en string1 pero no ese string1 _startswith_ string2 (aunque considerando el contexto de URL _contains_ probablemente sea suficiente) b) En VBScript no puede Dimmension y asignar una variable en una sola instrucción. – AnthonyWJones

10

Prueba esto:

Function UrlStartsWith(string1, string2) 
    UrlStartsWith = InStr(1, string1, string2, 1) = 1 
End Function 

If UrlStartsWith(rs("mainVideoName"), "http://www.youtube.com") Then 


End If 

Empieza se prueba mediante el uso de IntStr y asegurar que devuelve 1 como la posición inicial de que la cadena de búsqueda se encuentra. Dado que está probando una URL, el código anterior utiliza un TextCompare para que no sea sensible al caso.

1

¿Qué tal ...

Dim s: s = "http://www.youtube.com" 
Dim l: l = Len(s) 

If Left(rs("mainVideoName"), l) = s Then 
    ' String begins with URL part '   
End If 
+2

Argumentaría que una 'L' minúscula es un nombre pésimo para una variable, especialmente cuando se usa en lugar de un número. Tuve que mirar dos veces antes de darme cuenta de que no solo estabas comparando la primera letra de 'rs (" mainVideoName ")'. –

Cuestiones relacionadas