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