2012-05-03 15 views

cevap

2

Bunun için InStr() işlevi kullanabilirsiniz: Anthony işaret

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

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

gibi, bu sana o dize2 dize1 içinde bulunan söyler. ile başlayan o kontrol etmek

If positionOfMatchedString = 1 Then 

: Sen olarak yazabilirim.

+0

Strings VB 1'den dizine alınır? :( –

+0

Dize2 bulunamazsa, InStr, 0 değerini döndürür. Http://msdn.microsoft.com/en-us/library/wybb344c%28v=vs.85%29.aspx –

+0

@JamieDixon: a)> 0 şunu sınar. string2, string1'de _contained_ olur ancak bu string1 _startswith_ string2 (URL içerigini dikkate alsa da _contains_ büyük olasılıkla yeterli olur) b) VBScript'te, Dimmension ve tek bir ifadede bir değişken atayamazsınız. – AnthonyWJones

10

bu deneyin: IntStr kullanarak ve arama dizesi bulunduğunu başlangıç ​​pozisyonu olarak 1 döndürür sağlayarak test edilir ile

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

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


End If 

başlatır. Bir URL'yi test ettiğiniz için yukarıdaki kod, büyük/küçük harfe duyarlı olmayan bir TextCompare kullanıyor.

1

Mesela ...

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

Bir küçük harf 'L', özellikle bir sayı yerine kullanıldığında, bir değişken için berbat bir isim olduğunu iddia ediyorum. Daha önce iki kez bakmak zorunda kaldım, sadece rs ("mainVideoName") 'ın ilk harfini karşılaştırdığınızı farketmediniz. –

İlgili konular