Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.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在非字母数字、非连字符上拆分字符串_Vb.net_String_Split - Fatal编程技术网

VB.net在非字母数字、非连字符上拆分字符串

VB.net在非字母数字、非连字符上拆分字符串,vb.net,string,split,Vb.net,String,Split,有没有比这更好的循环方法 基本上,对于从要拆分的字符串创建的字符数组中的每个字符,如果该字符是字母、数字或连字符,我将其附加到临时字符串中。当我看到拆分字符或最后一个字符,并且临时字符串有值时,我将其添加到集合中以返回 For i As Integer = 0 To (charArrayLength - 1) charToInspect = CChar(charArray.GetValue(i)) If IsLetterOrDigit(charToIn

有没有比这更好的循环方法

基本上,对于从要拆分的字符串创建的字符数组中的每个字符,如果该字符是字母、数字或连字符,我将其附加到临时字符串中。当我看到拆分字符或最后一个字符,并且临时字符串有值时,我将其添加到集合中以返回

    For i As Integer = 0 To (charArrayLength - 1)

        charToInspect = CChar(charArray.GetValue(i))

        If IsLetterOrDigit(charToInspect) Or charToInspect = hyphen Then
            tempString = tempString + charToInspect

            If i = (charArrayLength - 1) Then
               listOfStringToReturn.Add(tempString)
            End If

        ElseIf tempString.Length > 0 Then
            listOfStringToReturn.Add(tempString)
            tempString = String.Empty

        End If
    Next

    Return listOfStringToReturn

该方法已经提供了此逻辑,它获取了一个可能拆分的分隔符列表

Return myString.Split("-"C)

如果您有更复杂的分隔符,可以查看。

此逻辑已经由该方法提供,该方法使用可能的分隔符列表进行拆分

Return myString.Split("-"C)

如果您有更复杂的分隔符,您可以查看。

您可以用于在简单分隔符上拆分,或用于更复杂的方案。您可以用于在简单分隔符上拆分,或用于更复杂的方案。我希望在字母、数字和连字符以外的任何字符上拆分。但Regex.Split似乎更清晰。你应该能够用一个否定的字符类来处理这个问题,比如
Regex.Split([^a-zA-Z0-9-])
我希望对字母、数字和连字符以外的任何字符进行拆分。但Regex.Split似乎更清晰。你应该能够用一个否定的字符类来处理这个问题,比如
Regex.Split([^a-zA-Z0-9-])