Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vb.net:你能用一个字符串拆分一个字符串吗_.net_Vb.net_String - Fatal编程技术网

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

vb.net:你能用一个字符串拆分一个字符串吗,.net,vb.net,string,.net,Vb.net,String,例如,我可以这样做: split = temp_string.Split("<beginning of record>") split=temp\u string.split(“”) 各位议员建议: split = Regex.Split(temp_string, "< beginning of record >") Dim myDelims As String() = New String(){"< beginning of record >"} sp

例如,我可以这样做:

split = temp_string.Split("<beginning of record>")
split=temp\u string.split(“”)
各位议员建议:

split = Regex.Split(temp_string, "< beginning of record >")
Dim myDelims As String() = New String(){"< beginning of record >"}
split = temp_string.Split(myDelims, StringSplitOptions.None)
split=Regex.split(临时字符串,
它不起作用。它只是返回第一个字符“”} split=temp_string.split(myDelims、StringSplitOptions.None) 这也不行。它也只返回第一个字符

请尝试以下操作:

string[] myDelims = new string[] { "<beginning of record>" };
split = temp_string.Split(myDelims,StringSplitOptions.None);
string[]myDelims=新字符串[]{”“};
split=temp_string.split(myDelims、StringSplitOptions.None);
通过代码转换器运行此操作会产生以下结果:

Dim myDelims As String() = New String() { "<beginning of record>" }
split = temp_string.Split(myDelims, StringSplitOptions.None)
Dim myDelims As String()=新字符串(){”“}
split=temp_string.split(myDelims、StringSplitOptions.None)
您可能还需要避开V形,如下所示:

"\< beginning of record \>"
“\<记录开始\>”

我不这么认为,它只需要字符。您可以做一些难看的破解工作,首先用字符串中不存在的字符替换字符串的所有实例,然后对该字符进行拆分


编辑添加:我认为Regex.Split可以在Regex上进行拆分,因此如果您制作一个简单的Regex,它就是您想要拆分的字符串,那么应该可以工作。

您可以查看Regex.Split()-method

这似乎奏效了

  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
dim s as string=“你有事情要做”
dim a()为string=Regex.Split(“”)
对于每个b作为a中的字符串
响应。写入(b&“
”) 下一个
'在VB.NET中回答

Dim delim as String() = New String(0) { "<beginning of record>" } 
split = temp_string.Split(delim, StringSplitOptions.None)
Dim delim as String()=新字符串(0){'}
split=temp_string.split(delim、StringSplitOptions.None)

如果您真正要拆分的是XML读入字符串,那么不要使用VB字符串来完成这项工作。使用XSLT。VB/C#有使用XSLT呈现XML的方法。它会更快更可靠

这似乎有效

    Dim myString As String = "aaajjbbbjjccc"
    Dim mySplit() As Char = "jj".ToCharArray
    Dim myResult() As String = myString.Split(mySplit, StringSplitOptions.RemoveEmptyEntries)

您可以为自己编写一个扩展方法,使其更简单(基于

(我想我也应该举个例子……)

。。。C#

。。。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
模块工具
_
公共函数拆分(以字符串形式输入ByVal_
ByVal参数数组分隔符作为字符串())作为字符串()
返回input.Split(分隔符,StringSplitOptions.None)
端函数
端模块

split=Regex.split(temp\u string,”)?可能是这样的吗?pattern=”“Dim r As Regex r=new Regex(pattern)Dim results As String()results=r.Split(temp_String)可能会起作用……我不知道vb或任何东西,只是基于文档的猜测,如果您要使用
Regex.Split
,使用
Regex.Escape
对要匹配的对象进行匹配。我认为问题在于您需要避开V形符号。请参阅我的编辑。如果您仍然有问题,您可能希望在temp_字符串中给出一个示例。您的示例对于temp_string=“beforeafter”Regex.split对我有效。带有String.split的char数组选项似乎应该在的每个引用处进行拆分。在我的例子中,直到添加了选项StringSplitOptions.None,它才起作用。如果没有它,VS告诉我字符串不能转换为charAlso,一种在行中写入它的方法是:Split=temp_string.Split({“”},StringSplitOptions.None)
public static class Tools
{
    public static string[] Split(this string input, params string[] delimiter)
    {
        return input.Split(delimiter, StringSplitOptions.None);
    }
}
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