vb.net:你能用字符串拆分字符串吗?

l--*_*''' 29 .net vb.net string

例如,我可以这样做:

split = temp_string.Split("<beginning of record>")
Run Code Online (Sandbox Code Playgroud)

那些你推荐的:

split = Regex.Split(temp_string, "< beginning of record >")
Run Code Online (Sandbox Code Playgroud)

它不起作用.它刚刚返回第一个字符"<"

以及那些推荐的人:

Dim myDelims As String() = New String(){"< beginning of record >"}
split = temp_string.Split(myDelims, StringSplitOptions.None)
Run Code Online (Sandbox Code Playgroud)

这也不起作用.它也只返回第一个字符

Mat*_*nes 37

试试这个:

string[] myDelims = new string[] { "<beginning of record>" };
split = temp_string.Split(myDelims,StringSplitOptions.None);
Run Code Online (Sandbox Code Playgroud)

通过代码转换器运行此导致:

Dim myDelims As String() = New String() { "<beginning of record>" }
split = temp_string.Split(myDelims, StringSplitOptions.None)
Run Code Online (Sandbox Code Playgroud)

您可能还需要逃离V形符号,如下所示:

"\< beginning of record \>"
Run Code Online (Sandbox Code Playgroud)


bdu*_*kes 16

@Matthew Jones在VB.NET中的回答

Dim delim as String() = New String(0) { "<beginning of record>" } 
split = temp_string.Split(delim, StringSplitOptions.None)
Run Code Online (Sandbox Code Playgroud)


Eri*_*rik 6

你可以看一下Regex.Split() - 方法.

这似乎有效

  dim s as string = "you have a <funny> thing <funny> going on"
  dim a() as string = Regex.Split(s,"<funny>")
  for each b as string in a 
     Response.Write( b & "<br>")
  next
Run Code Online (Sandbox Code Playgroud)


Mat*_*ted 6

你可以自己写一个扩展方法,使其更容易(根据Matthew Jones的回答)

(我猜我应该展示一个例子......)

Dim results = "hay needle hay needle hay".Split("needle")
' results(0) = "hay "
' results(1) = " hay "
' results(2) = " hay"
Run Code Online (Sandbox Code Playgroud)

... C# ...

public static class Tools
{
    public static string[] Split(this string input, params string[] delimiter)
    {
        return input.Split(delimiter, StringSplitOptions.None);
    }
}
Run Code Online (Sandbox Code Playgroud)

...... VB.Net ......

Module Tools
    <Extension()> _
    Public Function Split(ByVal input As String, _
                          ByVal ParamArray delimiter As String()) As String()
        Return input.Split(delimiter, StringSplitOptions.None)
    End Function
End Module
Run Code Online (Sandbox Code Playgroud)