Разделить строку на VB.NET
Я пытаюсь разделить на следующие две строки.
"SERVER1.DOMAIN.COM Running"
для этого я использую код.
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
это отлично работает, и я получаю два окна сообщений с "SERVER1.DOMAIN.COM"
и "Running"
.
проблема в том, что некоторые из моих начальных строк имеют более одного пробела.
"SERVER1.DOMAIN.COM Off"
есть около восьми пробелов между ними ".COM " и "Off".
как я могу разделить эту строку таким же образом?
3 ответов
попробуй такое
Dim array As String() = strtemp.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
использовать таким образом:
Dim line As String = "SERVER1.DOMAIN.COM Running"
Dim separators() As String = {"Domain:", "Mode:"}
Dim result() As String
result = line.Split(separators, StringSplitOptions.RemoveEmptyEntries)
вот метод, использующий класс Regex:
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
и способ LINQ сделать это:
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