【问题标题】:Split a string in VB.NET在 VB.NET 中拆分字符串
【发布时间】:2013-06-12 07:32:06
【问题描述】:

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

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

我怎样才能以同样的方式分隔这个字符串?

【问题讨论】:

  • 使用StringSplitOptions.RemoveEmptyEntries

标签: vb.net string split


【解决方案1】:

试试这个

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

【讨论】:

  • 代替" ".ToCharArray(),您可以简单地使用字符文字数组:strtemp.Split({" "c}, StringSplitOptions.RemoveEmptyEntries)
【解决方案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)

【讨论】:

    【解决方案3】:

    这是一个使用 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      • 2016-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多