Splits een string in vb.net

Ik probeer het volgende in twee snaren te splitsen.

"SERVER1.DOMAIN.COM Running"

Hiervoor gebruik ik de code.

Dim Str As String = "SERVER1.DOMAIN.COM Running"
Dim strarr() As String
strarr = Str.Split(" ")
For Each s As String In strarr
    MsgBox(s)
Next

Dit werkt prima, en ik krijg twee berichtvakken met "SERVER1.DOMAIN.COM"en "Running".

Het probleem dat ik heb, is dat sommige van mijn initiële snaren meer dan één ruimte hebben.

"SERVER1.DOMAIN.COM        Off"

Er zijn ongeveer acht spaties tussen “.com” en “uit”.

Hoe kan ik deze reeks op dezelfde manier scheiden?


Antwoord 1, Autoriteit 100%

Probeer dit

Dim array As String() = strtemp.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)

Antwoord 2, Autoriteit 11%

Gebruik op deze manier:

Dim line As String = "SERVER1.DOMAIN.COM Running"
Dim separators() As String = {"Domain:", "Mode:"}
Dim result() As String
result = line.Split(separators, StringSplitOptions.RemoveEmptyEntries)

Antwoord 3, Autoriteit 5%

Hier is een methode met behulp van RGEX-klasse:

   Dim str() = {"SERVER1.DOMAIN.COM Running", "mydomainabc.es     not-running"}
    For Each s In str
        Dim regx = New Regex(" +")
        Dim splitString = regx.Split(s)
        Console.WriteLine("Part 1:{0}  |  Part 2:{1}", splitString(0), splitString(1))
    Next

En de LINQ-manier om het te doen:

   Dim str() = {"SERVER1.DOMAIN.COM Running", "mydomainabc.es     not-running"}
    For Each splitString In From s In str Let regx = New Regex(" +") Select regx.Split(s)
        Console.WriteLine("Part 1:{0}  |  Part 2:{1}", splitString(0), splitString(1))
    Next

Other episodes