2017-10-26 1 views
1

Ich habe 2 Strings:ASP Classic - zum Vergleich Strings

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

ich muss überprüfen, ob die genaue Zeichenfolge2 innerhalb string1 ist

wenn ich für „256“ sehen das Ergebnis negativ sein muss, welche nur positiv war ich für „3256“ suchen

Vielen Dank im Voraus für alle hilft

+0

Aber 256 _is_ in Ihrer ursprünglichen Zeichenfolge. also wird es nicht negativ sein, egal welche Methode du benutzt. –

Antwort

0

InStr() werden Sie keine genaue Übereinstimmung geben, besser, ein Array zu verwenden.

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

Verwendung InStr:

InStr(start, string_var, string_part, comparetype) 

Beispiel:

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

Start- und comparetype optionale Argument ist

+0

Problem mit 'InStr()' ist, wenn Sie §32561§' in Ihrem String haben, wird es auch übereinstimmen. Besser ist es, Split() 'in ein Array mit' §' als Trennzeichen zu setzen und einen 'For Each' zu durchlaufen, um nach' string2' zu suchen. – Lankymart