15

我正在尝试将以下内容拆分为两个字符串。

"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”之间大约有八个空格。

如何以相同的方式分隔此字符串?

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 回答