15

以下を2つの文字列に分割しようとしています。

"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

This works fine, and I get two message boxes with "SERVER1.DOMAIN.COM" and "Running".

The issue that I am having is that some of my initial strings have more than one space.

"SERVER1.DOMAIN.COM        Off"

There are about eight spaces in-between ".COM" and "Off".

How can I separate this string in the same way?

4

3 に答える 3

20

これを試して

Dim array As String() = strtemp.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
于 2013-06-12T07:36:14.197 に答える
2

次のように使用します。

Dim line As String = "SERVER1.DOMAIN.COM Running"
Dim separators() As String = {"Domain:", "Mode:"}
Dim result() As String
result = line.Split(separators, StringSplitOptions.RemoveEmptyEntries)
于 2013-06-12T07:35:16.567 に答える
1

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
于 2013-06-12T07:59:41.133 に答える