在一组字符串周围获取字符串项?

时间:2011-10-18 22:50:35

标签: vb.net

好的我在项目这一部分的最后一部分......如果我有一个字符串:

 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的地址,这意味着County Road。所以我想我可以通过使用类似的东西从我传递给解析器的字符串中删除地址部分。

  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 个答案:

答案 0 :(得分: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