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

问题描述 投票:1回答:2

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

ATTN:Brian Adams | 343 Albert Ave |第17街

这是我现在的代码

   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

当ATTN只有2个值时,这些功能起作用:Brian Adams | 343阿尔伯特大道,但当有三个值时,GetAddress1将获取第二个|右侧的信息并获得GetAddress2值。

sql sql-server vb.net reporting-services ssrs-2008
2个回答
0
投票

所以你只想要数组的前两个元素?

    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

0
投票
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位于字符串中的第二个值而不会抛出错误。

© www.soinside.com 2019 - 2024. All rights reserved.