多个空格分隔符拆分字符串

时间:2018-06-30 17:44:44

标签: string vb.net

我有一个类似

的字符串
string = "computer prog  <5spaces>   data mining  <5spaces>   oops concept"

我们可以清楚地看到,计算机程序,数据挖掘等是一个连续的字符串,而定界符是字符串" "之间的5个空格。

我需要在vb.net上基于此进行拆分-到目前为止,我尝试了regex.split,它可以工作,但会导致另外提供2个空字符串,并且删除那些额外的字符串很繁琐。

我也尝试过使用string.split方法,但是同样它甚至占用了单个空格也是定界符。

以下是尝试过的选项:
regex.split
string.split

没有人给我所需的结果。我不确定我需要使用什么。我什至尝试使用stringsplitoption.removesapceentry选项(类似方法)在split方法中获得所需的结果,但是没有一个起作用。

Dim array_keyskills As String() = res.Split(" ".ToCharArray,StringSplitOptions.RemoveEmptyEntries)
system.Windows.MessageBox.Show(array_keyskills(2) & array_keyskills.Length & " key skills") 'Display

2 个答案:

答案 0 :(得分:3)

以下简短程序:

file_name

输出:

Module Module1

    Sub Main()
        Dim s = "computer prog     data mining     oops concept"
        Dim parts = s.Split({"     "}, StringSplitOptions.None)
        For Each p In parts
            Console.WriteLine(p)
        Next

        Console.ReadLine()

    End Sub

End Module

如果您的数据不能以这种方式工作,那么您应该检查一下数据,以发现其中哪些空白字符显示为空格,而不是空白。

答案 1 :(得分:0)

这可以解决问题:

array_keyskills = System.Text.RegularExpressions.Regex.Split(res,"     ").Where(
                  Function(s) Not String.IsNullOrWhitespace(s)
                  ).ToArray()