Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.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:为什么从0开始? Dim myDelims As String()=新字符串(){”“} Dim split1 As String()=临时字符串.Split(myDelims,StringSplitOptions.None) 对于拆分1中的每个字符串 如果仪表(s,批号),则_Vb.net - Fatal编程技术网

vb.net:为什么从0开始? Dim myDelims As String()=新字符串(){”“} Dim split1 As String()=临时字符串.Split(myDelims,StringSplitOptions.None) 对于拆分1中的每个字符串 如果仪表(s,批号),则

vb.net:为什么从0开始? Dim myDelims As String()=新字符串(){”“} Dim split1 As String()=临时字符串.Split(myDelims,StringSplitOptions.None) 对于拆分1中的每个字符串 如果仪表(s,批号),则,vb.net,Vb.net,出于某种原因,split1中的第一个s的值为“”。里面什么都没有。为什么在第一个元素之前开始一个?您需要传递StringSplitOptions。删除mptyEntries以过滤空字符串 默认情况下,String.Split方法将按分隔符拆分字符串。如果字符串以分隔符开头,则它基本上由空字符串、分隔符和字符串的其余部分组成 Dim myDelims As String() = New String() {"<beginning of record>"} Dim spl

出于某种原因,split1中的第一个s的值为“”。里面什么都没有。为什么在第一个元素之前开始一个?

您需要传递
StringSplitOptions。删除mptyEntries
以过滤空字符串

默认情况下,
String.Split
方法将按分隔符拆分字符串。如果字符串以分隔符开头,则它基本上由空字符串、分隔符和字符串的其余部分组成

    Dim myDelims As String() = New String() {"<beginning of record>"}
    Dim split1 As String() = temp_string.Split(myDelims, StringSplitOptions.None)

    For Each s As String In split1
        If InStr(s, lot__no) Then

在本例中,
arr
将包含两个元素,“Hello”和“World”。如果没有
removemptyentires
,它将包含四个元素,“”、“Hello”、“World”和“.”

无需再问同样的问题:如果临时字符串以“”开头,那么这将是预期的结果,不是吗?这不是同一个问题。这是在问另一件事。你是对的。我懒散的眼睛没有注意到“为什么它在第一个元素之前就开始了”——你说这个和问题的标题是什么意思?
Dim s = "!Hello!World!"
Dim delimiters = {"!"}
Dim arr = s.Split(delimiters, StringSplitOptions.RemoveEmptyEntries)
Array.ForEach(arr, AddressOf Console.WriteLine) ' // Prints out the result