2013-02-19 3 views
1

이 질문에 대해 유감스럽게도 고전 ASP에서 녹슨 것이므로 주위를 둘러 볼 수 없습니다.문자열의 일부가 다른 문자열에 있습니까?

strPostCode = "HS1,HS2,HS3,HS4,HS5,HS6,HS7,HS8,HS9,IV41,IV42" etc etc 

가 지금은 사용자가 입력 한 후 코드가 해당 문자열에 존재하는지 확인해야합니다

나는 우편 번호의 일련의 시작을 포함하는 변수가 있습니다.

그래서 "HS2 4AB", "HS2", "HS24AB"모두 일치 항목을 반환해야합니다.

아이디어가 있으십니까? 그 문자가 문자열에있는 경우

감사

답변

1

다음 하나 하나를 가서 경기를 찾습니다.

코드는 다음과 같습니다

Dim strPostCode, strInput, x 
Dim arrPostCodes, curPostCode, blnFoundMatch 
strPostCode = "HS1,HS2,HS3,HS4,HS5,HS6,HS7,HS8,HS9,IV41,IV42" 
strInput = "HS24AB" 
arrPostCodes = Split(strPostCode, ",") 
blnFoundMatch = False 
For x=0 To UBound(arrPostCodes) 
    curPostCode = arrPostCodes(x) 
    'If Left(strInput, Len(curPostCode))=curPostCode Then 
    If InStr(strInput, curPostCode)>0 Then 
     blnFoundMatch = True 
     Exit For 
    End If 
Next 
Erase arrPostCodes 
If blnFoundMatch Then 
    'match found, do something... 
End If 

위의 예를 들면, 어느 곳에서나 사용자 입력에 각 게시물 코드를 찾습니다 "4AB HS2"도 일치 항목을 반환합니다. 포스트 코드가 입력 맨 앞에 만 나타나게하려면 위의 코드에서 언급 된 대체 If 행을 사용하십시오.

+0

나는 주석 처리 된 대체 라인을 찾아갔습니다. – lunchboxbill

+0

건배, 다행스럽게 도울 수있어! –

0

당신은 루프 검사에서 다음 문자로 검색 문자열을 분할 할 수있다. 코드에 대한 죄송합니다 - 녹슨도,하지만 난 당신이 무슨 말인지 볼 수 있다고 생각 ... 당신은 쉼표 (,)로 포스트 코드를 분할해야

Dim strPostCode As String = "HS1,HS2,HS3,HS4,HS5,HS6,HS7,HS8,HS9,IV41,IV42" 
Dim SearchString As String = "HS24AB" 
Dim Match As Boolean = False 

Dim i As Integer 

For(i = 0; i< SearchString.Length; i++) 
    If(strPostCode.Contains(SearchString.charAt(i)) Then 
    Match = True 
    Else 
    Match = False 
    End If 
Next 
관련 문제