Imports System
Imports System.Text.RegularExpressions
Imports System.Collections.Generic
Public Class Test
Public Shared Sub Main()
Dim input As String = "ASD~QW~DFGH~LOP~GGGH~123~SXC~QL~"
Print(Split("asd"))
Print(Split("asd~"))
Print(Split("ASD~QW~DFGH~LOP~GGGH~123~SXC~QL~"))
Print(Split("ASD~QW~DFGH~LOP~GGGH~123~SXC~QL~jones"))
Console.WriteLine("....bye")
End Sub
Public Shared Sub Print(words As List(Of String))
Console.WriteLine("Found {0} words", words.Count)
For Each Val As String In words
Console.Write(" [{0}]", Val)
Next
Console.WriteLine()
End Sub
Public Shared Function Split(input As String) As List(Of String)
Dim results = New List(Of String)
Dim pattern As String = ".*?~([^~]+?)(?=~)"
Dim re As Regex = New Regex(pattern)
For Each mtch As Match In re.Matches(input)
results.Add(mtch.Groups(1).Captures(0).Value)
Next
Return results
End Function
End Class
SW1wb3J0cyBTeXN0ZW0KSW1wb3J0cyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnMKSW1wb3J0cyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYwoKClB1YmxpYyBDbGFzcyBUZXN0CglQdWJsaWMgU2hhcmVkIFN1YiBNYWluKCkKICAgICAgICBEaW0gaW5wdXQgQXMgU3RyaW5nID0gIkFTRH5RV35ERkdIfkxPUH5HR0dIfjEyM35TWEN+UUx+IgoKICAgICAgICBQcmludChTcGxpdCgiYXNkIikpCiAgICAgICAgUHJpbnQoU3BsaXQoImFzZH4iKSkKICAgICAgICBQcmludChTcGxpdCgiQVNEflFXfkRGR0h+TE9QfkdHR0h+MTIzflNYQ35RTH4iKSkKICAgICAgICBQcmludChTcGxpdCgiQVNEflFXfkRGR0h+TE9QfkdHR0h+MTIzflNYQ35RTH5qb25lcyIpKQogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCIuLi4uYnllIikKICAgIEVuZCBTdWIKICAgIFB1YmxpYyBTaGFyZWQgU3ViIFByaW50KHdvcmRzIEFzIExpc3QoT2YgU3RyaW5nKSkKICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiRm91bmQgezB9IHdvcmRzIiwgd29yZHMuQ291bnQpCiAgICAgICAgRm9yIEVhY2ggVmFsIEFzIFN0cmluZyBJbiB3b3JkcwogICAgICAgICAgICBDb25zb2xlLldyaXRlKCIgW3swfV0iLCBWYWwpCiAgICAgICAgTmV4dAogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCkKCiAgICBFbmQgU3ViCiAgICBQdWJsaWMgU2hhcmVkIEZ1bmN0aW9uIFNwbGl0KGlucHV0IEFzIFN0cmluZykgQXMgTGlzdChPZiBTdHJpbmcpCiAgICAgICAgRGltIHJlc3VsdHMgPSBOZXcgTGlzdChPZiBTdHJpbmcpCgogICAgICAgIERpbSBwYXR0ZXJuIEFzIFN0cmluZyA9ICIuKj9+KFtefl0rPykoPz1+KSIKICAgICAgICBEaW0gcmUgQXMgUmVnZXggPSBOZXcgUmVnZXgocGF0dGVybikKCiAgICAgICAgRm9yIEVhY2ggbXRjaCBBcyBNYXRjaCBJbiByZS5NYXRjaGVzKGlucHV0KQogICAgICAgICAgICByZXN1bHRzLkFkZChtdGNoLkdyb3VwcygxKS5DYXB0dXJlcygwKS5WYWx1ZSkKICAgICAgICBOZXh0CiAgICAgICAgUmV0dXJuIHJlc3VsdHMKICAgIEVuZCBGdW5jdGlvbgpFbmQgQ2xhc3M=