我正在拆分字符串以拆分由|分隔的列。我想把它分成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
值。
所以你只想要数组的前两个元素?
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位于字符串中的第二个值而不会抛出错误。