使用三列的自定义代码在 SSRS 2008 R2 中拆分字符串

Splitting a string in SSRS 2008 R2 using a custom code for three columns

我正在拆分字符串以分解由 | 分隔的列. 我想把它分成 3 列。

ATTN: Brian Adams | 343 Albert Ave | 17th Street

这是我现在的代码

   Public Function GetAddress1 (ByVal a as String)
        Dim b() as string
        b=Split(a,"|")
        Dim str_1(b.Length) As String
        Dim i As Integer
        For i = 1 To b.Length - 1
            str_1(i) = b(i).Split("|")(0)
        Next
   return str_1
End Function


Public Function GetAddress2 (ByVal a as String)
        Dim b() as string
        b=Split(a,"|")
        Dim str_1(b.Length) As String
        Dim i As Integer
        For i = 2 To b.Length - 1
            str_1(i) = b(i).Split("|")(0)
        Next
   return str_1
End Function

Public Function GetAttention (ByVal a as String)
        Dim b() as string
        b=Split(a,"|")
        Dim str_1(b.Length) As String
        Dim i As Integer
        For i = 0 To b.Length - 2
            str_1(i) = b(i).Split("|")(0)
        Next
   return str_1

End Function

当只有 2 个值时,这些函数可以工作 收件人:Brian Adams | 343 Albert Ave 但是当存在三个值时 GetAddress1 将获取第二个 | 右侧的信息并获得 GetAddress2 值。

所以您只需要数组的前 2 个元素?

    Dim TheSring As String = "ATTN: Brian Adams | 343 Albert Ave | 17th Street"
    Dim StrAry() As String = TheSring.Split("|")

    For i As Integer = 0 To 1
        TextBoxOutput.Text &= StrAry(i).Trim & Environment.NewLine
    Next
Public Function GetAddress1 (ByVal a as String)
        Dim b() as string
        b=Split(a,"|",2)
        Dim str_1(b.Length) As String
        Dim i As Integer
        For i = 1 To b.length - 1 
            str_1(i) = b(i).Split("|")(0)
        Next
   return str_1
End Function

写入 ,2 找到了字符串中的第二个值而没有引发错误。