我有一个类似
的字符串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
答案 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()