2011-10-18 4 views
0

내가 같은 문자열이 있으면 내가 ... 내 프로젝트의이 부분의 마지막 부분입니다 확인 : 그 숫자는 0에서 9까지 무엇이든 될 수설정된 문자열 주위에 문자열 항목 가져 오기?

James Williams 432 Co Rd 1 Cullman Al 35055 
Or  
James Williams 432 Co Rd 12 Cullman Al 35055 
Or 
James Williams 432 Co Rd 123 Cullman Al 35055 
Or 
James Williams 432 Co Rd 1234 Cullman Al 35055 

을 .. 나는 CR을 어떻게 할당 할 수 있습니다 및 문자열 값 바로 뒤에 오는 숫자 (들)?

파일에서 주소 정보를 구문 분석해야합니다 ... 파서는 County Road를 의미하는 CR이없는 주소에 대해서는 잘 작동합니다. 그래서

Dim _holder as string = {Gets a value I can track already in the current Function} 
    DIM _Address as string = Nothing 
    IF _holder.contains("Co Rd") Then 
     _Address = { "Numbers just before Co Rd" + " " + "Co Rd" + "Numbers Just after Co Rd"} 
    End If 
+1

나는 이것을 해독 할 수 없습니다. 너 뭐하려고? 전후에 게시 할 수 있습니까? 뭐라 구요? – LarsTech

+1

@LarsTech : 정규식을 원하는 것 같습니다. – Gabe

답변

1

많은 데이터이지만, 여기에 빠른 예를 얼마나 유효에 따라 달라집니다 .. 내가 무엇인가 등을 사용하여 파서에 전달하고 문자열에서 주소 부분을 제거 할 수 있습니다 생각하고있다 :

Private Function ExtractAddressWithCoRd(ByVal input As String) As String 
    Dim add1 As String = String.Empty 
    Dim add2 As String = String.Empty 

    Dim parts() As String = input.Split(" "c) 
    For i As Integer = 0 To parts.Length - 1 
    If parts(i) = "Co" AndAlso i > 0 Then 
     add1 = parts(i - 1) 
    ElseIf parts(i) = "Rd" AndAlso i < parts.Length - 1 Then 
     add2 = parts(i + 1) 
    End If 
    Next 

    Return add1 + " Co Rd " + add2 
End Function 
+0

이것은 작동하지 않습니다. 개체가 개체의 인스턴스로 설정되지 않았습니다. 그것은 문자열 = input.Split (""C) 어떤 아이디어로 딤 부품() 안타 ??? – Skindeep2366

+0

고쳐 주셔서 감사합니다. – Skindeep2366

+0

@ Skindeep2366 입력으로 전달하는 가치는 무엇입니까? 호출 소스의 널 값이 아닌지 확인하십시오. – LarsTech