2011-10-18 32 views
0

好吧我對我的這部分項目的最後一部分......如果我有一個字符串,如:獲取字符串項目圍繞一組字符?

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 

其中這些數字可以是任何東西,從0到9的..我如何分配CR以及緊跟在字符串值之後的數字?

我不得不從一個文件中解析出地址信息......解析器對於不包含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