2017-10-26 5 views
1

を比較するために、私は2列ありますASPクラシック - 文字列

がstring1 = "3122§3121§152KL§256§6598J§65974§3256§6982"
string2の= "3256"

を私は私が「3256」

探し正、正確なstring2のは、私は「256」を探している場合、結果は負でなければならstring1の

内にあるかどうかを確認する必要があり

InStr(start, string_var, string_part, comparetype) 

例:すべてを事前にの

おかげで

+0

ただし、元の文字列には_is_が含まれています。だからあなたが使っている方法に関係なく、それは否定的ではありません。 –

答えて

0

InStr()はあなたに完全一致を与えることはありません、オプションの引数です、 を使用する方が効果的です。

Dim string1: string1 = "3122§3121§152KL§256§6598J§65974§3256§6982" 
Dim string2: string2 = "3256" 
Dim data: data = Split(string1, "§") 
Dim value 
Dim is_match: is_match = False 

For Each value In data 
    If StrComp(value, string2, vbTextCompare) = 0 Then 
    'Flag we have a match and exit loop. 
    is_match = True 
    Exit For 
    End If 
Next 
0

使用InStr関数を助け

string1="3122§3121§152KL§256§6598J§65974§3256§6982" 
string2= "3256" 
Response.Write InStr(string1,string2) 

開始とcomparetypeは

+0

'InStr()'の問題は、あなたの文字列に '§32561§'がある場合にも一致します。区切り文字として '§'を使用して配列に分割し、' string'の比較のために 'For Each'チェックを使用してループする方が良いでしょう。 – Lankymart